我想验证数字1-8的逗号分隔列表。逗号分隔的数字正则表达式
即2,4,6,8,1
是有效的输入。
我试过[0-8,]*
但它似乎接受1234
视为有效。它不需要逗号,而是让我键入大于8的数字。我不知道为什么。
我想验证数字1-8的逗号分隔列表。逗号分隔的数字正则表达式
即2,4,6,8,1
是有效的输入。
我试过[0-8,]*
但它似乎接受1234
视为有效。它不需要逗号,而是让我键入大于8的数字。我不知道为什么。
[0-8,]*
将匹配零或更多连续的0
到8
或,
的实例,您的字符串中的任何位置。你想要更多的东西是这样的:
^[1-8](,[1-8])*$
^
字符串的开头匹配,并$
结束匹配,以确保您正在检查的整个字符串。它将匹配一个数字,加上零个或多个逗号后面跟随一个数字的实例。
如果我将尝试检查值1234,1345,4455 –
你需要一个号码+逗号的组合,可以重复:
^[1-8](,[1-8])*$
如果你不想记住圆括号?:
到括号,就像这样:
^[1-8](?:,[1-8])*$
21,22,24,343546对此表达式有效。最高的数字只能是8 –
良好的捕获。修正了。 – quux00
你可以用这个正则表达式尝试:
^[1-8](,[1-8])+$
/^\d*(,\d*)*$/
这也将覆盖这些都是用逗号隔开的数值。
逗号需要位于字符类之外,并使用括号将其分组为数字字符。那就是:'([0-8],)+' –
你说你想要数字1-8,但是你的正则表达式试图匹配0-8。这是什么? – Cairnarvon
1-8只有高于8的 –