所以我对RegEx完全陌生,我已经读了几件事,这真让我感到惊讶。
到目前为止,这就是我所拥有的
/^([a-z]{2})?([0-9])/i
我基本上拥有的是一个文本框,该文本框需要接受一个字符串,其中前2个字符是字母,其余是数字,或者仅仅是数字。
示例。
匹配:
AB12345
12345
不匹配:
12345AB
AB12345AB
ACD1123
A332
任何帮助和信息都将非常有用,因此我可以了解它的工作原理,并希望自己理解!!
谢谢!
答案 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)))