正则校验密码时如何添加12-16位的长度范围限制规则
密码正则长度规则补充方案
你现有正则已经覆盖了四类字符的校验,补充长度规则只需按如下修改即可:
修改后的完整正则:
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*\W).{12,16}$
修改说明
- 开头加
^表示从字符串首位开始匹配,末尾加$表示匹配到字符串末位结束,避免部分符合要求的长字符串被误判为合法 - 原有四个正向预查规则保持不变,依然负责校验必须包含数字、小写字母、大写字母、特殊字符的规则
- 新增的
.{12,16}表示任意字符可出现12到16次,刚好匹配总长度要求
修改后Aa2@这类长度不足12的字符串会直接判定为不合法,例如Test@12345678(长度13,包含四类字符)可以正常通过校验,长度超过16的字符串会自动拦截。
内容的提问来源于stack exchange,提问作者Bill Kindig
相关产品推荐
相关产品推荐

