唯一数字的正则表达式


Regular expression for unique number.

我需要一个验证唯一值的正则表达式。它有一个唯一的9位数字,格式为000000000A(其中0是数字,a是字母)。最后一个字符串只允许使用字母"V"或"X"。

我可以对数字进行修改,但不知道如何修改最后一个字符串。

^[1-9][0-9]{9}$

希望有人能帮我。

您可以使用字符类[VX],它将匹配其中的单个字符。

^[1-9][0-9]{8}[VX]$

或者,OR条件如下

^[1-9][0-9]{8}(V|X)$

更新:

为了不区分大小写地匹配字母,可以使用i标志,也可以在类中添加小写字符

^[1-9][0-9]{8}[VvXx]$

您也可以尝试更简单的方法(除非前导数字不能为0)

'd{9}[VX]

为什么不只是d{9}/'d{9}(V|X)/似乎更容易。

var test = "qwerty000000000Xqwerty";
console.log(test.match(/'d{9}(V|X)/));

http://jsfiddle.net/u5gmfjeL/1/-也与830363670V匹配。

不区分大小写添加/i->/'d{9}(V|X)/i->http://jsfiddle.net/u5gmfjeL/2/

你可以做:

^[1-9][0-9]{8}[VX]$

或者更一般地说,如果后缀是多个字符,则可以使用组。看起来您使用的是POSIX扩展正则表达式(ERE)语法,您也可以为组使用括号,如:

^[1-9][0-9]{8}(V|X)$

ERE语法链接

链接到JavaScript Regex标准