以字母开头的正则表达式包含一个大写/一个小写字母,一个数字,没有特殊字符&最少8个字符

时间:2017-02-16 20:38:10

标签: javascript regex string

我正在尝试写一个正则表达式:

  • 以字母开头
  • 包含一个大写和一个小写字母
  • 包含一个数字
  • 不允许使用特殊字符
  • 最少8个字符

到目前为止,我有大写/小写条件,使用以下正则表达式设置的数字和最小字符要求:

data[0].nodes[0].nodes[0]

我对解决 /^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9]).{8,}$/ starts with a letter要求的最佳猜测如下。这个正则表达式似乎评估了does not allow special characters的所有输入:

false

1 个答案:

答案 0 :(得分:3)

您需要在^之后加上前瞻,并将[a-zA-Z]放在他们之后,并使用{7,}量化其余内容:

^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])[a-zA-Z][a-zA-Z0-9]{7,}$

请参阅regex demo

模式详情

  • ^ - 字符串的开头
  • (?=.*?[a-z]) - 至少1个小写ASCII字母
  • (?=.*?[A-Z]) - 至少1个大写ASCII字母
  • (?=.*?[0-9]) - 至少1个ASCII数字
  • [a-zA-Z] - ASCII字母
  • [a-zA-Z0-9]{7,} - 7个或更多ASCII字母或数字(\w也允许_
  • $ - 字符串结束。