JavaScript RegEx-前2个字符的字母,其余数字或仅数字

时间:2018-08-14 15:36:13

标签: javascript regex

所以我对RegEx完全陌生,我已经读了几件事,这真让我感到惊讶。

到目前为止,这就是我所拥有的

/^([a-z]{2})?([0-9])/i

我基本上拥有的是一个文本框,该文本框需要接受一个字符串,其中前2个字符是字母,其余是数字,或者仅仅是数字。

示例

匹配
AB12345
12345

不匹配
12345AB
AB12345AB
ACD1123
A332

任何帮助和信息都将非常有用,因此我可以了解它的工作原理,并希望自己理解!!

谢谢!

2 个答案:

答案 0 :(得分:3)

除了数字的量词,一个或多个 ^,您还可以使用字符串的开头$和结尾+进行检查。

/^([a-z]{2})?\d+$/i

console.log(
    ['AB12345', '12345', '12345AB', 'AB12345AB', 'ACD1123', 'A332']
        .map(s => /^([a-z]{2})?\d+$/i.test(s))
);

答案 1 :(得分:3)

您错过了结尾锚($)和数字重复(\d+):

const reg = /^([a-z]{2})?([0-9]+)$/i

console.log(['AB12345', '12345'].map(v => reg.test(v)))

console.log(['12345AB', 'AB12345AB', 'ACD1123', 'A332'].map(v => reg.test(v)))