0

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

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

但它目前也匹配123,123123

有效大小写:123,123 或 123,000或 000,000 无效大小写:123.123或 123?123 或 '123'.'123'

4

4 回答 4

2

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

于 2013-08-29T11:47:19.970 回答
1

您可能想要使用{x,y}量词。I 匹配至少 X 个项目,最多匹配 Y 个项目。如果你漏掉一个,它在那个方向上没有限制。如果您只有一个数字,没有逗号,则它与该数量完全匹配。

正好三位数:

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

三个或更多

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

2 到 7 位数字:

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

等等...

于 2013-08-29T11:43:15.830 回答
0

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

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

于 2013-08-29T11:47:32.860 回答
0

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

于 2013-08-29T11:51:35.350 回答