Javascript 正则表达式,用于匹配最多两位数字和最多两位小数的数字
过去几天我一直在搜索,但我找到的唯一正则表达式类型如下:Javascript 正则表达式,用于匹配最多两位数字和最多两位小数的数字,javascript,php,regex,Javascript,Php,Regex,过去几天我一直在搜索,但我找到的唯一正则表达式类型如下: (\d{0,2})\.?\d{1,2}$ 这适用于以下输入: 9 99 9.9 9.99 99.9 99.99 .9 .99 这些都没问题,但它也碰巧接受输入,比如 999 9999 我不想发生这种事。如何解决此问题?您可以交替使用此正则表达式: ^(?:\d{1,2}|\d{0,2}\.\d{1,2})$ 正则表达式说明: ^ # start (?: # start non-capturin
(\d{0,2})\.?\d{1,2}$
这适用于以下输入:
9
99
9.9
9.99
99.9
99.99
.9
.99
这些都没问题,但它也碰巧接受输入,比如
999
9999
我不想发生这种事。如何解决此问题?您可以交替使用此正则表达式:
^(?:\d{1,2}|\d{0,2}\.\d{1,2})$
正则表达式说明:
^ # start
(?: # start non-capturing group
\d{1,2} # match 1 or 2 digits
| # OR
\d{0,2} # match 0 to 2 digits
\. # followed by DOT
\d{1,2} # match 1 or 2 digits
) # end non-capturing group
$ # end
使用下面的正则表达式
(\d{0,2})\.\.?\d{0,2}$
这是因为你可以选择接受句点字符。你不应该“搜索regexp”,而是根据你的要求来构造它。你制作电子邮件regex时,@Lashane:PHeh,我本来想做一个负面回顾,但这也很好+1@Farkie:javascript中没有lookback,他从来没有说过他在使用什么(还提到了PHP,它可以工作:))与9或99不匹配是的,我已经找到了,对不起。将尝试找到正确的正则表达式。