JavaScript正则表达式-前2个字符字母、剩余数字或仅数字

JavaScript正则表达式-前2个字符字母、剩余数字或仅数字,javascript,regex,Javascript,Regex,所以我对RegEx完全陌生,我读了一些东西,这让我大吃一惊 到目前为止,这就是我所拥有的 /^([a-z]{2})?([0-9])/i 我基本上有一个文本框,它需要接受一个字符串,其中前两个字符是字母,其余是数字,或者只是数字 示例 匹配: AB12345 12345 不匹配: 12345AB AB12345AB ACD1123 A332 任何帮助和信息都将是伟大的,所以我可以看到它是如何工作的,希望我自己能理解它 谢谢 您还可以使用字符串的开头^和结尾$,在数字量词旁边检查一个或多个+ /^

所以我对RegEx完全陌生,我读了一些东西,这让我大吃一惊

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

/^([a-z]{2})?([0-9])/i
我基本上有一个文本框,它需要接受一个字符串,其中前两个字符是字母,其余是数字,或者只是数字

示例

匹配
AB12345

12345

不匹配
12345AB

AB12345AB

ACD1123

A332

任何帮助和信息都将是伟大的,所以我可以看到它是如何工作的,希望我自己能理解它


谢谢

您还可以使用字符串的开头
^
和结尾
$
,在数字量词旁边检查一个或多个
+

/^([a-z]{2})?\d+$/i
console.log(
['AB12345','12345','12345AB','AB12345AB','ACD1123','A332']
.map(s=>/^([a-z]{2})?\d+$/i.test(s))
);您错过了结束锚(
$
)和数字重复(
\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))
这非常有效,感谢您的解释!