正则表达式为唯一编号。

时间:2015-11-25 03:18:48

标签: javascript php regex

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

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

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

希望有人可以帮助我。

4 个答案:

答案 0 :(得分:2)

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

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

或者,OR条件如下

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

<强>更新

要使字母不区分大小写,请使用i标记,或者也可以在类中添加小写字符

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

答案 1 :(得分:1)

您也可以尝试更简单的事情(除非前导号码不能为0)

\d{9}[VX]

答案 2 :(得分:1)

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

var test = "qwerty000000000Xqwerty";

console.log(test.match(/\d{9}(V|X)/));

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

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

答案 3 :(得分:0)

你可以这样做:

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

或者更一般地说,如果后缀是多个字符,则可以使用组。由于您看起来正在使用POSIX扩展正则表达式(ERE)语法,因此您还可以对组使用括号,例如:

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

Link to ERE syntax

Link to JavaScript Regex standard