我如何允许任何单词字符和下划线之间应该有一个字母和一个数字。
例子:ab2_sb, s_s,
但它不应该允许 sdc_ 或 _s2
这是我的代码
[a-zA-Z0-9_]{6,255}$
我在 javascript 上使用正则表达式
最佳答案
您需要将字符长度检查与模式分开,如果没有隐式添加,也不要忘记 anchor :
^(?=.{6,255}$)[a-zA-Z0-9]+(?:_[a-zA-Z0-9]+)*$
如果只能有1个下划线,则将最后一个*
替换为?
量词。
详细信息:
^
- 字符串的开始(?=.{6,255}$)
- 长度检查,换行符号以外的 6 到 255 个字符[a-zA-Z0-9]+
- 1 个或多个字母数字字符(?:_[a-zA-Z0-9]+)*
- 零次或多次出现:_
- 下划线[a-zA-Z0-9]+
- 1 个或多个字母数字字符
$
- 字符串结尾。
关于正则表达式我如何验证字母之间的下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50869776/