如何允许任意字母字符,下划线应该在它之间有一个字母和一个数字。
例如:ab2_sb,s_s,
但不应该允许sdc_或_s2
这是我的代码
[a-zA-Z0-9_]{6,255}$
我正在使用JavaScript的正则表达式
如何允许任意字母字符,下划线应该在它之间有一个字母和一个数字。
例如:ab2_sb,s_s,
但不应该允许sdc_或_s2
这是我的代码
[a-zA-Z0-9_]{6,255}$
我正在使用JavaScript的正则表达式
您需要将字符长度检查与模式分开,并且如果未隐式添加,则不要忘记锚点:
^(?=.{6,255}$)[a-zA-Z0-9]+(?:_[a-zA-Z0-9]+)*$
?
量词将最后一个*
替换。
细节:
^
- 字符串的开头(?=.{6,255}$)
- 长度检查,6到255个字符(不包括换行符)[a-zA-Z0-9]+
- 1个或多个字母数字字符(?:_[a-zA-Z0-9]+)*
- 零次或多次出现:
_
- 下划线[a-zA-Z0-9]+
- 1个或多个字母数字字符$
- 字符串的结尾。([a-zA-Z]+_?[a-zA-Z]+)*