看来我再次陷入了一个简单的正则表达式。最多3位数,最多3位小数
我想什么:999
- 一个数字之间1
- 可选:如果输入了逗号网友实拍
- 一个逗号,最低1位小数和最高3个 小数应预先安排。
允许:
999,0
999,999
999,99不允许:
-1
999,
999,9999
这是我到目前为止有:
^[0-9]{1,3}(?:\,[0-9]{1,3})?$
任何提示吗?
看来我再次陷入了一个简单的正则表达式。最多3位数,最多3位小数
我想什么:999
允许:
999,0
999,999
999,99不允许:
-1
999,
999,9999
这是我到目前为止有:
^[0-9]{1,3}(?:\,[0-9]{1,3})?$
任何提示吗?
你可以使用这个表达式:从OP的正则表达式
/^[1-9]\d{0,2}(?:\,\d{1,3})?$/
主要区别是使用的[1-9]
其中1相匹配的数字到9的正则表达式的其余部分之前。
我很喜欢它,如果人们实际上解释了什么该ir正则表达式。 – evolutionxbox
嗯,很奇怪。在你的演示中,它似乎正常工作。当使用它时,它接受一个没有小数的逗号,当小数存在时,验证失败:s – Bv202
我正在使用Angular,使用ng-pattern指令:ng-pattern =“/^[1-9] \ d {0,2}(?:\,\ d {1,3})?$ /“ – Bv202
此正则表达式应该工作:
^[1-9]\d{0,2}(?:,\d{1,3})?$
下面是说明:
^[1-9]
:应该以数字开头1和9
\d{0,2}
之间:通过最小0其次,最大2数字(0-9)
(?:,
:后跟逗号
\d{1,3})?
:如果有一个逗号,应该跟着一个三位数
$
:电话那端
感谢@ DEV-空此链接:Explanation
如果人们真正解释了他们的正则表达式,我会喜欢它。 – evolutionxbox
@evolutionxbox http://regexper.com/#%5E%5B1-9%5D%5Cd%7B0%2C2%7D(%3F%3A%2C%5Cd%7B1%2C3%7D)%3F%24 – andlrc
[相同的答案已经发布](http://stackoverflow.com/a/30662081/548225) – anubhava
这几乎是相同的,它可以适应你的需要trivially:http://stackoverflow.com/questions/26901088/regex-numbers-between-xx-xxx-xx –