我需要使用以下规则验证密码:
- 6 至 20 个字符
- 必须包含至少一位数字;
- 必须包含至少一个字母(不区分大小写);
- 可以包含以下字符:! @#$%&*
以下表达式匹配除最后一个要求之外的所有要求。最后一张我能做什么?
((?=.*\d)(?=.*[A-z]).{6,20})
我不完全确定我有这个权利,但因为你的最后一个要求是“Can包含以下字符: !@#$%&*" 我假设不允许使用其他特殊字符。换句话说,唯一允许的字符是字母、数字和特殊字符 !@#$%&*。
如果这是正确的解释,则以下正则表达式应该有效:
^((?=.*\d)(?=.*[a-zA-Z])[a-zA-Z0-9!@#$%&*]{6,20})$
请注意,我更改了你的角色类别[A-z]
to [a-zA-Z]
, 因为[A-z]
还将包含以下字符:[\]^_`
我还添加了字符串锚点的开头和结尾,以确保您不会获得部分匹配。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)