Jquery验证方法字母、数字和特殊字符

标签 jquery regex validation

我正在使用 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!@#$%&*]
}, "");

最佳答案

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

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

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

Try it here

匹配:

Gpa1
abc01A

不匹配:

donotmatchME!
apple2000@
<小时/>
  • 如果您还需要至少一个特殊字符,则可以使用以下模式:
  • ^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%&*] )[a-zA-Z0-9!@#$%&*]+$

    Try it here

    匹配:

    Matchme2018!
    regexIScool1!
    

    不匹配:

    donotmatchME!
    apple2000@
    Gpa1
    abc01A
    

    关于Jquery验证方法字母、数字和特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51937464/

    相关文章:

    javascript 正则表达式 : string contains this, 但不是那个

    c# - MVC4 表单验证 - 自定义 html 消息 howto?

    asp.net-mvc - .NET mvc3 验证最小长度,但不是必需的

    jquery - 无需 jQuery 的响应式水平菜单

    java - 我在哪里可以找到多种语言的正则表达式的单元测试?

    javascript - 跟踪在页面上显示某些元素所花费的时间

    jQuery 数据表 fnFilter : find the exact match of a string within a concatenated string

    c# - 验证错误阻止调用属性 setter

    javascript - 显示/隐藏div?

    jquery - 编写一个jquery插件来进行文本替换