使用JavaScript进行正则表达式密码验证

时间:2013-04-17 11:43:54

标签: javascript jquery regex validation

我需要在网站上验证(并确认)新密码。我需要测试的标准,我正在寻找使用jQuery的最佳方法。

标准是:

  1. 必须至少包含8个字符,最多12个字符
  2. 应至少有以下三种:A。大写字母; B.小写字母; C.数字字符; D.标点符号。
  3. 修改 以下正则表达式是我目前用来完成此任务的内容。

    regexp/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*(_|[^\w])).+$/
    

    然而,检查以确保所有这四种类型都存在,当我只需要四种中的三种时(并且这三种情况无关紧要。)任何人都可以建议如何改进我的正则表达式来完成这个?

    更新: 我还没弄清楚如何实现这个目标,但想到了几个场景。我看到它的方式是它应该使用5个排列,并使用AND和OR运算符。但是,我不知道如何在正则表达式中这样做。我吠叫错了树吗?

2 个答案:

答案 0 :(得分:0)

好的,在玩了一下后,这是解决方案:

regexp/(^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*(_|[^\w])).+$)|(^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).+$)|(^(?=.*[a-z])(?=.*[A-Z])(?=.*(_|[^\w])).+$)|(^(?=.*[A-Z])(?=.*\d)(?=.*(_|[^\w])).+$)|(^(?=.*[a-z])(?=.*\d)(?=.*(_|[^\w])).+$)/

答案 1 :(得分:-2)

这是一个在javascript中有密码验证程序的网站:

http://www.javascriptsource.com/forms/val-pass.html