繁体   English   中英

实数的 ng-pattern 正则表达式

[英]ng-pattern regular expression for real number

这更多是出于我自己的好奇心的问题。 我有一个可行的解决方案,但我很好奇是否有人对为什么一个解决方案有效而另一个没有任何见解有任何见解。

我需要一个正则表达式来验证用户输入的有效数字。 一些例子:

87

887.65

-87

-87.65

我的第一次尝试是这样的:

^(\-?[0-9]+(\.[0-9]*)?)$

除了接受像“7x”、“1a”、“89p”这样的字符串外,它工作得很好。 我的新解决方案如下,它似乎工作得很好:

^(\-?[0-9]+(\.[0-9]+)?)$

第二个(注意“+”)稍微简洁一些,但我不明白为什么第一个接受字母而第二个不接受。 有人看到我错过了什么吗?

这 ”。” 在您的正则表达式中用于字符“。” 从字面上看,所以它应该被转义为“\\.”,否则它将匹配任何字符。 在第二个正则表达式中,“+”运算符需要至少一位小数,因此它不会匹配“7x”,但会匹配“7x1”,请参阅此正则表达式演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM