模式密码javascript

时间:2015-05-18 09:26:08

标签: javascript regex passwords

我正在处理具有以下要求的密码模式:

  1. 最小字符= 6
  2. 最大字符= 64
  3. 最小1个小写字符
  4. 最小1个大写字符
  5. 最少1个号码
  6. 最少1个特殊字符
  7. 我正在使用这个正则表达式:

    git diff

    但是,它没有按预期工作。

2 个答案:

答案 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}$/;

查看特殊字符的后退参考。在字符集中,必须转义像\和]之类的字符。