jQuery验证插件不适用于addmethod

时间:2018-08-01 07:18:32

标签: javascript jquery

我正在使用jquery validate插件。尝试使用手机号码正则表达式验证时,它不起作用。谁能帮助我。

 $(document).ready(function() {
    $.validator.addMethod(
      "regex",
      function(value, element, regexp) {
          var check = false;
          var re = new RegExp(regexp);
          return this.optional(element) || re.test(value);
      },""
);
});


            $("#membership_form").validate({
            rules: {
                "data[mobile]": {
                    required: true,
                    number: true,
                    regex: '/^\2547\d{8}/'                                   
                },
            },
            messages: {
                "data[mobile]": {
                    required: 'Phone number is required',
                    regex:'Please match the pattern'
                },
            },


 });

1 个答案:

答案 0 :(得分:0)

尝试一下

我唯一看到的怀疑是validate方法中的名称。看来您正在尝试使用错误的名称验证为data[mobile]

$.validator.addMethod( "regex", function(value, element, regexp) { var check = false; var re = new RegExp(regexp); return this.optional(element) || re.test(value); },""); 

 $("#membership_form").validate({
            rules: {
                "Mobile": {
                    required: true,
                    number: true,
                    regex: '/^\2547\d{8}/'                                   
                },
            },
            messages: {
                "Mobile": {
                    required: 'Phone number is required',
                    regex:'Please match the pattern'
                },
            }
            });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.min.js"></script>
<form id="membership_form">
<input name="Mobile" type="text"/>
<input type="submit"/>
</form>