用于包含的JQuery验证正则表达式

时间:2012-09-27 20:48:17

标签: jquery regex jquery-plugins passwords jquery-validate

我有一个用户名和密码输入字段,我正在使用jquery验证插件来验证我的表单。我知道如何创建自定义规则,但我只是想知道如何为它编写正则表达式。

我希望密码为:
1)最少8个字符(这由规则中的最小长度处理)
2)包含符号(!@#$%^& *?~`'“) 3)包含数字(0-9)

jQuery.validator.addMethod("password", function(value, element) { 
        return this.optional(element) || /.../i.test(value);
    }, jQuery.format("Enter correct password")); 

我只是不知道如何编写正则表达式来搜索输入并查看它是否包含至少1个符号和1个数字。有任何想法吗?感谢

1 个答案:

答案 0 :(得分:4)

我们走了

^(?=.*?[@#$%^&*?~`])(?=.*?[0-9]).{8,}$

它从字符串的开头开始告诉任何长度为> = 8的字符串都没问题

.{8,}

你还需要告诉你,从字符串的开头你需要一个符号在任何位置

^(?=.*?[@#$%^&*?~`])

任意位置的数字

(?=.*?[0-9])

使用positive lookahead

A working example