^[0-9]{1,14}$
The problem however is about how the Regex engine interprets ^ and $...
If you are in single-line mode the engine look at the input as a single line and ^ and $ means the beginning and the end of the whole input!
In multi-line mode (/m or
RegexOptions.Multiline[
^]) the mmenaing of ^ and $ changes and it is now the beginning and the end of line within the whole input...
Regex oRegex = new Regex("^[0-9]{1,14}$", RegexOptions.Multiline);