我使用以下正则表达式来匹配帐号.当我们最初把这个正则表达式放在一起时,规则是一个帐号只能以一个字母开头.这已经改变了,我有一个帐号,在字符串的开头有3个字母.
我希望有一个正则表达式,在字符串的开头匹配至少1个字母和最多3个字母.最后一个问题是字符串的长度.它可以长达9个字符,最少3个字符.
这是我目前正在使用的.
'/^([A-Za-z]{1})([0-9]{7})$/'
有没有办法匹配所有这些?
你要:
^[A-Za-z]([A-Za-z]{2}|[A-Za-z][0-9]|[0-9]{2})[0-9]{0,6}$
Run Code Online (Sandbox Code Playgroud)
初始[A-Za-z]确保它以字母开头,第二位([A-Za-z]{2}|[A-Za-z][0-9]|[0-9]{2})确保它至少有三个字符长,并且在开始时由一到三个字母组成,最后一位[0-9]{0,6}允许最多总共9个字符.
进一步解释:
^ Start of string/line anchor.
[A-Za-z] First character must be alpha.
( [A-Za-z]{2} Second/third character are either alpha/alpha,
|[A-Za-z][0-9] alpha/digit,
|[0-9]{2} or digit/digit
) (also guarantees minimum length of three).
[0-9]{0,6} Then up to six digits (to give length of 3 thru 9).
$ End of string/line marker.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11695 次 |
| 最近记录: |