0

我正在尝试将字母数字字符串与至少一位数字匹配。第二个条件是它的最小长度应该是 3。

例如,以下字符串应匹配

111
12345
ABCD1
123A
11AA11

和以下不应该匹配

ABCD
AB
12
1A

我已经达到了可以正确处理第一个条件的地步。也就是说,至少有一位数:

([a-zA-z0-9]*[0-9]+[a-zA-z0-9]*)

但我不知道指定最小长度。如果我尝试使用 {3},则至少需要 3 个数字。

4

2 回答 2

3

尝试使用肯定的前瞻来确定至少有一个数字,并使用{3,}它来指示它应该匹配至少 3 个字符:

/^(?=.*\d)[a-z\d]{3,}$/i
于 2013-01-29T19:20:24.770 回答
1

您可以使用前瞻来确保您的表达式包含一个数字,然后匹配最小三个字符:

/^(?=.*?\d)[a-zA-Z0-9]{3,}$/
于 2013-01-29T19:22:20.777 回答