正则表达式或if循环....用于密码验证

时间:2017-10-08 16:25:59

标签: javascript jquery regex validation passwords

我想验证它应该接受的密码

  • 至少2个数字,
  • 至少1个大写,
  • 至少1个小写,
  • 至少1个符号。
  • 没有空间。
  • 密码的最小长度应为8个字符

如下所示

  • asdA1 @#2。
  • 1Aas和3%A
  • 21asdA @!

数字符号不一定要在一起。

它可以在任何地方,也可以分开。

2 个答案:

答案 0 :(得分:2)

你可以使用正则表达式

(?=.*\d.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[&@%#!])[^\s]{8,}

请参阅regex101 demo

答案 1 :(得分:0)

我会将所有条件拆分为分离的布尔方法,以及一个将调用所有条件方法的validatePassword方法,而不使用正则表达式。 代码应该易读且易于维护。

Tommorow你可能想要在条件中改变一些东西,很难改变正则表达式,你将不得不重新测试所有的schenarios。