用于用户名验证的JavaScript正则表达式

时间:2018-06-01 00:54:46

标签: javascript regex angular5

我在Angular5应用程序中尝试使用许多模式用户名。但是没有为我的要求找到合适的解决方案。

规则

最少6个字符
只有数字不允许至少有一个字符在那里 除_
外,不允许使用特殊字符 没有空间允许 只允许字符

我尝试了/^[a-zA-Z0-9]+([_]?[a-zA-Z0-9])*$/

/^[a-zA-Z0-9][a-zA-Z0-9_]*[a-zA-Z0-9](?<![_\s\-]{6,}.*)$/

3 个答案:

答案 0 :(得分:2)

您可以使用以下正则表达式:

^(?=[a-z_\d]*[a-z])[a-z_\d]{6,}$

在regex101上测试的不区分大小写模式:demo

说明:

  • ^锚定字符串的开头
  • $锚定字符串的结尾
  • (?=[a-z_\d]*[a-z])强制出现至少一个字母
  • [a-z_\d]{6,}实现至少6个char约束

答案 1 :(得分:2)

你可以试试这个正则表达式:

^[a-zA-Z0-9_]{5,}[a-zA-Z]+[0-9]*$
  • [a-zA-Z0-9 _] {5,}以匹配至少五个字母数字和下划线
  • [a-zA-Z] +至少有一个字母
  • [0-9] *将零与任何出现的给定数字范围匹配

希望这有帮助。

答案 2 :(得分:-1)

是的,这对我来说没问题。感谢。/^[a-zA-Z0-9][a-zA-Z0-9_]*[a-zA-Z0-9](?<![-?\d+\.?\d*$]{6,}.*)$/