我正在处理具有以下要求的密码模式:
我正在使用这个正则表达式:
git diff
但是,它没有按预期工作。
答案 0 :(得分:0)
你一定在寻找这个正则表达式:
^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[ -/:-@\[-`{-~]).{6,64}$
请参阅demo
以下是解释:
^
- 字符串的开头(?=.*[a-z])
- 要求使用小写字母的正面预测(?=.*[A-Z])
- 要求大写字母的正面预测(?=.*[0-9])
- 需要数字(?=.*[ -/:-@\[-
{ - 〜])` - 要求特殊字符的正面预测.{6,64}
- 任何字符(但换行符),6到64次出现$
- 字符串结束。答案 1 :(得分:0)
考虑特殊的非空白字符。我认为这是完整的清单:
! " #$%& ' ()* +, - 。 /: ; < => ? @ [\ _] ^ _` {| }〜
试试这个:
var passReg = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!"#$%&'()*+,-.\/:;<=>?\\@[\]^_`{|}~]).{6,64}$/;
查看特殊字符的后退参考。在字符集中,必须转义像\和]之类的字符。