如何编写具有以下要求的JavaScript RegEx。
下面是我写的。似乎部分工作。
\b(?=.*[a-zA-Z]{0,2})([a-zA-Z0-9]{9,10})\b
这似乎可行,但也可以接受3个以上的字母。
1234567890(匹配)
12345B7T90(匹配)
AA123D4324(匹配,但不应该匹配,因为它具有超过2个字母)
答案 0 :(得分:4)
您可以使用以下正则表达式:
\b(?!(\d*[a-zA-Z]){3,})\w{9,10}\b
它从单词边界'\b'
开始,然后对它使用否定的前瞻性:
\d*
零个或多个数字,后跟:
[a-zA-Z]
一封信。这不应该是:
{3,}
3个或更多。
如果成功,则在Word
字符的9到10之间匹配,最后在单词boundary
之间匹配。