正则表达式校验密码问题(要求⼤⼩写字母数字特殊符号四选
正则匹配数字字母三)
要求:
1. 密码长度最少8位
2. ⼤写字母,⼩写字母,数字,特殊符号必须四选三
⾸先给出全部四种的匹配表达式:
[a-zA-Z0-9\W_]{8,}
其中\W匹配任意不是字母,数字,下划线,汉字的字符。
然后使⽤排除法,排除其中只选⼀种或只选两种的情况,剩下的就是选了三种的情况了。
有:
⼤写+⼩写,⼤写+数字,⼤写+特殊符号,⼩写+数字,⼩写+特殊符号,数字+特殊符号。共这6种组合。
最后使⽤环视-正向否定匹配(?!...)组合起来,就得到最终需要的表达式:
^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z0-9]+$)(?![a-z\W_]+$)(?![0-9\W_]+$)[a-zA-Z0-9\W_]{8,}$

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。