Javascript正则表达式用于逗号分隔的数字序列

时间:2015-08-13 07:38:01

标签: javascript regex

我需要在javascript中使用正则表达式来创建模式。这种模式如下所示:

(任何数字后跟逗号) - > 1 ... 5次,可选择任意数字

一些有效的例子:

1002
1001,1002,1003,21313,3333
912393,4951131313,92812,3131,43434,13123

一些无效的例子:

a
some_string1, ,somestring2,32232
1,2,3,4,5,6,7
100,200,300,

正如您在给定示例中所看到的,存在以下规则:

number-> comma-> number =>有效

number =>有效

number-> comma =>无效

除了数字之外的任何内容=>无效

超过六个数字=>无效

我已经尝试过自己找到一个解决方案,但没有运气。

我在这里创建了这个:

/(^d+,){1,5}d?$/

但遗憾的是它不起作用。顺便说一句:我不是真的正常表达,我将来会尝试练习它。 ; - )

2 个答案:

答案 0 :(得分:3)

您也可以使用

^(\d*?,.){1,5}$

可能有效!

答案 1 :(得分:1)

你是如此亲密

/^(\d+,){1,5}\d*$/
 ^ ^         ^ ^
 1 2         3 4
  1. 行的开头需要在括号外
  2. d应该是\ d
  3. d应该是\ d
  4. ? = 0或1,* = 0或更多(如果最后一个数字只能是一个数字,那么使用?就像你做的那样
  5. 以上匹配一个错误的模式,1,2,3,4,5,将匹配!!

    /^(\d+,|){1,4}\d+(,\d+|)$/
    

    更好(它可以100%工作,但可能不是最佳解决方案)