我想写一个正则表达式:
-
以字母开头
-
包含一个大写和一个小写字母
-
包含一个数字
-
不允许使用特殊字符
-
至少8个字符
到目前为止,我有大写/小写条件,使用以下正则表达式设置的数字和最小字符要求:
/^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9]).{8,}$/
我对解决 starts with a letter
和 does not allow special characters
要求的最佳猜测如下 . 这个正则表达式似乎评估了 false
的所有输入:
/^[a-zA-Z](?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9]).{8,}$/
1 回答
您需要在
^
之后放置前瞻,并将[a-zA-Z]
放在它们之后,并使用{7,}
量化其余部分:见regex demo .
Pattern details :
^
- 字符串的开头(?=.*?[a-z])
- 至少1个小写ASCII字母(?=.*?[A-Z])
- 至少1个大写ASCII字母(?=.*?[0-9])
- 至少1个ASCII数字[a-zA-Z]
- ASCII字母[a-zA-Z0-9]{7,}
- 7个或更多ASCII字母或数字(\w
也允许_
)$
- 字符串结束 .