Angularjs 正则表达式验证错误

Angularjs 正则表达式验证错误,angularjs,regex,Angularjs,Regex,我使用正则表达式来验证angularjs中的数字。但当数字超过9位时,我的代码显示验证错误。请有人帮助我更正代码,以便可以输入任何数字 我尝试的是: ng-pattern="/^\d{0,9}?$/" 只需删除{0,9}即可?用*来代替 /^\d*$/ {0,9}平均值是0和9之间的任意长度只需将{0,9}量词更改为*。然后删除?——它没有用: ng-pattern="/^\d*$/" 对于十进制值: ng-pattern="/^\d*(\.\d+)?$/" 使用: \d{0,9}=匹配

我使用正则表达式来验证angularjs中的数字。但当数字超过9位时,我的代码显示验证错误。请有人帮助我更正代码,以便可以输入任何数字

我尝试的是:

ng-pattern="/^\d{0,9}?$/"

只需删除{0,9}即可?用*来代替

/^\d*$/

{0,9}平均值是0和9之间的任意长度

只需将
{0,9}
量词更改为
*
。然后删除
——它没有用:

ng-pattern="/^\d*$/"
对于十进制值:

ng-pattern="/^\d*(\.\d+)?$/"
使用:

\d{0,9}
=匹配0到9位数字

\d*
=匹配0到N个数字


\d=数字:0或1或2或3或4或5或6或7或8或9

我怀疑问题在于理解以下两者之间的区别:

  • {0,9}
  • [0-9]
{0,9}
表示“前一项的0到9次重复”,在本例中表示“0到9位”

[0-9]
表示“0到9(包括)范围内的字符”,与
\d
相同

尝试:

这意味着“所有数字输入”,不包括空白输入

要允许十进制输入,请转义点并使小数部分为可选:

/^\d+(\.\d+)?$/

这意味着“至少一个数字,可选后跟一个点和至少一个数字”

\d{0,9}?
为什么使用
here@Tushar因为?谢谢你的帮助。如果我也需要验证小数,我应该添加什么。我以前试过的是ng pattern=“/^\d{0,9}(\.\d{1,9})$/”@anju也允许空白输入?如果我也需要验证小数,您能告诉我应该添加什么吗。我以前试过的是ng pattern=“/^\d{0,9}(\.\d{1,9}”)$/“当使用
*
量词时,您不需要
您能告诉我如果我也需要验证小数,我应该添加什么吗。我以前试过的是ng pattern=“/^\d{0,9}(\.\d{1,9})$/”我相信开放式量词在您的情况下很好:
$\d*(\.\d+)$
。这些结果是一个简单的正则表达式。如果我也需要验证小数,你能告诉我应该添加什么吗。我以前试过的是ng pattern=“/^\d{0,9}(\.\d{1,9})?$/”@anju Here:“/^[\d]*[\.]?[\d]*$/”
/^\d+$/
/^\d+(\.\d+)?$/