我需要一个正则表达式来检查数字逗号和数字

时间:2013-08-29 11:38:21

标签: regex

我需要一个只能匹配 123,123 的regX。我的regX是

var regX = /^\d*[0-9](|.\d*[0-9]|,\d*[0-9])*$/;

但目前匹配 123,123 123,以及

有效案例: 123,123或123,000 或000,000 无效案例: 123.123 或123?123或'123'。'123'

5 个答案:

答案 0 :(得分:2)

你应该使用这个正则表达式= \d+(,\d+)+

答案 1 :(得分:1)

您可能想要使用{x,y}量词。我匹配项目的至少X,最多Y.如果你留下一个,它在那个方向没有限制。如果你只有一个号码,没有逗号,那么它就完全匹配了这个数量。

正好三位数:

(\d{3}),(\d{3})

三个或更多

(\d{3,}),(\d{3,})

2到7位数字:

(\d{2,7}),(\d{2,7})

等等......

答案 2 :(得分:0)

你可以试试这个

\d*[0-9],\d*[0-9]

答案 3 :(得分:0)

看起来你实际上是在尝试将数字与千位分隔符进行匹配。

试试这个:/\d{1,3}(?:,\d{3})*/

答案 4 :(得分:0)

如果你的数字是正整数,你可以使用:\ d +,\ d + 如果你想要浮点数:(\ d |。)+,(\ d |。)+ 虽然这也会匹配格式错误的数字与多个或错位的小数点,包括。,。等