用户名规则通常限制首字符与长度。下面这条规则要求字母开头、总长 4-16 位、仅含字母数字与下划线。
默认正则
/^[A-Za-z][A-Za-z0-9_]{3,15}$/
字母开头,总长 4-16 位,只含字母、数字与下划线。
用户名规则需要同时约束首字符、允许字符与长度。
^[A-Za-z] 要求首字符为字母;[A-Za-z0-9_]{3,15} 表示后续 3-15 位,合计总长度 4-16。
该规则不允许数字或下划线开头,也不含连字符与空格。
user_01Abc123a_b_c1userususer-name_userQ:为什么 us 不匹配?
后续部分需要 3-15 位,加上首字母总长至少 4 位,us 只有 2 位。
Q:允许下划线开头吗?
不允许。首字符必须是字母,_user 不匹配。
Q:如何允许连字符?
在字符类中加入 -,例如 [A-Za-z0-9_-],注意放在末尾避免被当作范围。
Q:长度怎么调整?
把 {3,15} 改为 {n-1,m-1},其中 n、m 是想要的最小与最大总长度。