至少八个字符,至少一个字母和一个数字:
"^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$"
至少八个字符,至少一个字母,一个数字和一个特殊字符:
"^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$"
最少八个字符,至少一个大写字母,一个小写字母和一个数字:
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$"
至少八个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}"
最少八个最多十个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,10}"
可以使用这个正则表达式:
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$
还有,你可以使用这个正则表达式:
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$
这个正则表达式将强制执行这些规则:
- 至少1个大写字母English letter,
(?=.*?[A-Z])
- 至少1个小写英文字母,
(?=.*?[a-z])
- 至少1位数字,
(?=.*?[0-9])
- 至少有1个特殊字符,
(?=.*?[#?!@$%^&*-])
- 最小8个长度
.{8,}
一些坑
在做特殊字符处理这块,因为涉及到有些字符比如 = [ ] - \ 这四个,需要在前面加 \ 进行转义,才能正常正则识别出来。
特殊字符匹配,后面这段必须也包含前面的匹配代码,即两段 ``·~!@#$%^&*()_+}{|:;’",<.>/?=[]-\` 都相同
只支持英文状态下的特殊字符,因为发现中文的 — 和英文的 - 是两个字符。
正则表达式测试网站:
- RegExr: Learn, Build, & Test RegEx (强烈推荐这个)
- Regex Tester - Javascript, PCRE, PHP
- 在线正则表达式测试
- 正则表达式在线测试 | 菜鸟工具
- 在线测试正则表达式工具:适合asp vb cs等Web或者Windows程序,便于你快速编写正确正则表达式,提供正则表达式模板供参考。
交流
1、QQ群:可添加qq群共同进阶学习: 进军全栈工程师疑难解 群号: 856402057
2、公众号:公众号「进军全栈攻城狮」 ,对前端技术保持学习爱好者。我会经常分享自己所学所看的干货,在进阶的路上,共勉!
更多推荐
密码校验常用正则表达式
发布评论