密码只能包含某些字符 - javascript

时间:2014-01-25 14:09:41

标签: javascript regex

我有一段代码,我被告知要从高级管理层更改,这是一个密码安全算法,只允许在javascript中包含某些字符和数字的密码。现在它只允许使用密码

  • 至少包含一个小写字母。
  • 至少包含一个大写字母。
  • 至少包含一个数字。
  • 至少包含6个字符。

代码本身显示在这里:

var re = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}/;

我被告知将其更改为:

  • 至少包含一个字母。 (小写或大写,不应区分大小写)
  • 至少包含一个数字。
  • 至少包含6个字符。

这个系统非常小,尽管我最初反对它,但我发现对我们的系统有这些限制是有点过分,即使它使它更安全。 我们之所以改变这种情况,是因为所有工作人员都因为这些限制而一直忘记密码。

我试图从变量re中删除一些代码,但由于我不能100%确定我要删除的是什么,所以我想在这里寻求帮助。为了让系统接受具有我想要的限制的密码,我应该更改什么?

删除(?=.*[A-Z])没有这样做,因为它仍然区分大小写。 提前谢谢。

(我知道有些人可能不建议在javascript中使用这些东西,因为它是客户端,但我们的用户都不会对如何绕过这些限制感兴趣(也不知道)。

2 个答案:

答案 0 :(得分:1)

var re = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}/i;

最简单

一点解释:有一些修饰符可以应用于正则表达式模式。 i用于不区分大小写的匹配

答案 1 :(得分:1)

怎么样:

var re = /(?=.*\d)(?=.*[a-zA-Z]).{6,}/;

var re = /(?=.*\d)(?=.*[a-z]).{6,}/i;