首页 > 解决方案 > Jquery验证方法字母,数字和特殊字符

问题描述

我正在使用 jquery validate 来验证我的密码字段。我想要的是:

1) 密码必须至少包含一个大写字母

2) 密码必须至少包含一个小写字母

3) 密码必须至少包含一位数字

4) 并且只允许特殊字符( !@#$%&* )

这是我尝试过的,但即使我输入一个大写和一个数字,它也在验证:

$.validator.addMethod("letters_numbers_special", function(value, element) {
    return this.optional(element) || /^(?:[a-zA-Z]|[a-zA-Z])[a-z0-9#$@!]+$/i.test(value);
  //(?=.*[a-zA-Z\d].*)[a-zA-Z\d!@#$%&*]
}, "");

标签: jqueryregexvalidation

解决方案


在下面的两种模式中,前瞻确保字符串中至少有一个小写字母、一个大写字母和一个数字。

  1. 如果不需要但允许使用特殊字符,您可以使用以下模式。

^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9!@#$%&*]+$

在这里试试

比赛

Gpa1
abc01A

不匹配

donotmatchME!
apple2000@

  1. 如果您还需要至少一个特殊字符,则可以使用以下模式:

^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%&*])[a-zA-Z0-9!@#$%&*]+$

在这里试试

比赛

Matchme2018!
regexIScool1!

不匹配

donotmatchME!
apple2000@
Gpa1
abc01A

推荐阅读