正则表达式验证6~30位数字,下划线,中划线,字母任意两种
混合的密码验证策略
需求要求:
1. 位数为6~30位
2. ⾄少包含字母、数字、下划线 _ 、中划线 - 中的两种
正则表达式:
js表达式:
^(?!^[\d]+$)(?!^[-]+$)(?!^[_]+$)(?!^[a-zA-Z]+$)[\w-]{6,30}$
java表达式-字符串:
"^(?!^[\\d]+$)(?!^[-]+$)(?!^[_]+$)(?!^[a-zA-Z]+$)[\\w-]{6,30}$"
解析:
⾄少四种中的两种也可以解释为为不是纯数字、不是纯字母、不是纯下划线,不是纯中划线
测试⽤例:
123456a(匹配)
_12345a(匹配)
_123-45a(匹配)
123456 (6位纯数字,没有匹配)
abcdef (6位纯字母,没有匹配)
------ (6位纯中划线,没有匹配)
______ (6位纯下划线,没有匹配)
123456789012345678901234567890a(31位字母数字组合,没有匹配)
_123-45a+(9位四种混搭多个加号,没有匹配)js正则表达式验证数字和字母
_12%3-45a(9位四种混搭多个百分⽐号,没有匹配)
a-_1d(5位四种混搭,没有匹配)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论