强密码是正则的难点,最重要的在于断言的用法。
需求 是判断至少有一个数字,大小写字母,特殊字符~!@#$%^&*._ 。 且只包含数字,大小写字母,特定的特殊字符。 可以分两部分写 第一部分断言判断至少包含一个(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&*._]),第二部分[\da-zA-Z~!@#$%^&*._]{n,m} 包含n-m次。 那么总的正则就是
/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&*._])$/ 。有些对分隔符会当做转义字符 / / . 可以替换为 # 或者最后那个 / 省略就可以解决因为转义出现的问题。