如何使用正则表达式检查前 2 个字符可以是字母或数字,但其他字符只能是数字?
Valid:
123456
AA123456
A123456
Not valid:
AAA
AAA123456
试过/^[a-zA-Z][0-9]{2}[\d]$/i
了,还是不行
请指教
如何使用正则表达式检查前 2 个字符可以是字母或数字,但其他字符只能是数字?
Valid:
123456
AA123456
A123456
Not valid:
AAA
AAA123456
试过/^[a-zA-Z][0-9]{2}[\d]$/i
了,还是不行
请指教
您已将第一部分分成两个字符类([a-zA-Z]
和[0-9]
),而{2}
量词仅适用于第二部分。尝试这个:
[a-zA-Z0-9]{2}\d*
您没有[..]
正确使用字符类 ( )。用这个:
/^\w{2}\d+$/
您不需要两者 [a-zA-Z]
和i
“忽略大小写”标志,您可以使用任何一种方法。但是没有必要构造一个类:\w
是“任何单词字符”的快捷方式 -- a..z,A..Z,0..9
,加上(谢谢,Arshajii)_
字符。如果不允许最后一个,请使用[A-Z\d]
.
由于在前两个类之后只能跟随任意数量的数字,因此您可以使用\d+
-- 无需将其包装到自己的字符类中。类版本将是[0-9]
,但同样,有一个快捷方式\d
。
对于您的情况,我认为最优雅的正则表达式是:
^[a-zA-Z]{0,2}[\d]+$
还取决于 2 个字母后必须有多少位数字(替换+
为*
ifAA
是有效字符串)。