Javascript Jquery验证程序addmethod小问题

Javascript Jquery验证程序addmethod小问题,javascript,jquery,Javascript,Jquery,我是jqueryvalidator的新手,我尝试使用regex检查是否包含数字、大写和特殊字符。我有下面的html <div class="wrapper wrapper-content animated fadeInRight"> <div class="row white-bg spacepad"> <div id="keypass"> <form method="POST" class="form-horizontal" i

我是jqueryvalidator的新手,我尝试使用regex检查是否包含数字、大写和特殊字符。我有下面的html

<div class="wrapper wrapper-content animated fadeInRight">
<div class="row white-bg spacepad">
    <div id="keypass">
        <form method="POST" class="form-horizontal" id="keyform" name="keypasser">
            <div class="form-group"><label class="col-sm-2 control-label">Decryption Key For EPins</label>
                <div class="col-sm-10"><input type="text" required="required" class="form-control" name="keypassx" /></div>
            </div>
            <div class="form-group"><label class="col-sm-2 control-label">Confirm Decryption Key</label>
                <div class="col-sm-10"><input type="text" required="required" class="form-control" name="keypass2" /></div>
            </div>
            <input type="submit" class="btn btn-primary btn-rounded btn-block" value="Submit" />
        </form>
    </div>
</div>

EPins的解密密钥
确认解密密钥

下面的jquery,当我删除addmethod时,它是有效的,请问我做错了什么

<script type="text/javascript">
$(function() {
// Initialize form validation on the registration form.
// It has the name attribute "registration"
$("form[name='keypasser']").validate({
    // Specify validation rules
    rules: {
        keypassx: {
            required: true,
            minlength: 8,
            passchecker: true,
        },
        keypass2: {
            required: true,
            equalTo: "#keypassx",
        }
    },
    // Specify validation error messages
    messages: {
        keypassx: {
            required: "Epins password required",
            minlength: "Minimum length allowed is 8 characters",
            passchecker: "Password should contain numbers, special characters and one uppercase",
        },
        keypass2: {
            required: "Confirmation password requied",
            equalTo: "Password does not match Epins Password",
        }
    },

    $.validator.addMethod("passchecker",
        function(value, element) {
             return /^[A-Za-z0-9\d=!\-@._*]*$/.test(value);
    });

    // Make sure the form is submitted to the destination defined
    // in the "action" attribute of the form when valid
    submitHandler: function(form) {
        form.submit();
    }
});

});
</script>

$(函数(){
//初始化注册表上的表单验证。
//它具有名称属性“注册”
$(“表单[name='keypasser'])。验证({
//指定验证规则
规则:{
keypassx:{
要求:正确,
最小长度:8,
是的,
},
密钥传递2:{
要求:正确,
equalTo:#keypassx“,
}
},
//指定验证错误消息
信息:{
keypassx:{
必需:“需要EPIS密码”,
minlength:“允许的最小长度为8个字符”,
passchecker:“密码应包含数字、特殊字符和一个大写字母”,
},
密钥传递2:{
必需:“需要确认密码”,
equalTo:“密码与EPIS密码不匹配”,
}
},
$.validator.addMethod(“passchecker”,
函数(值、元素){
返回/^[A-Za-z0-9\d=!\-@.\u*]*$/.测试(值);
});
//确保表单已提交到定义的目标
//有效时,在窗体的“action”属性中
submitHandler:函数(表单){
表单提交();
}
});
});

请帮忙

请尝试使用正则表达式作为

var patt=新的RegExp(“e”); var res=部分试验(str)


您可以直接使用正则表达式。请创建对象并重试。

函数接受三个参数检查:

可能重复的
$.validator.addMethod("passchecker",
        function(value, element) {
             if(/^[A-Za-z0-9\d=!\-@._*]*$/.test(value)) {
                return true;
             } else {
                return false;
             }
    }, "Your validation message goes here");