Javascript Regex仅用于验证"用逗号分隔的句子"

时间:2014-09-19 05:34:03

标签: javascript regex

我需要在javascript中验证此字符串。

第二个参数的可用性仅限于R1,R2,R3,R4 第二个和第三个参数只能用逗号分隔,而第一个和第二个参数用空格分隔。

req R1,1 //valid
req R2,3 //valid
req R0,1 //invalid
req R1 1 //invalid

我写了这个:

/^req\sR1|R2|R3|R4[^,][0-9]+$/

但在少数情况下失败了:

req R3 1 //supposed to be invalid, valid using above regex
req R3.1 //supposed to be invalid, valid using above regex

1 个答案:

答案 0 :(得分:2)

删除否定的字符类和此R1|R2|R3|R4R1|R2|R3|R4不会做你需要的事情。您需要将其放入非捕获组或捕获组以使其工作。像这样^req (?:R1|R2|R3|R4),\d+$你可以缩短这个正则表达式,如下面的

^req R[1-4],\d+$

DEMO