Jquery验证插件对于addmethod无法正常工作

3

我正在使用jquery验证插件。当尝试使用手机号正则表达式验证时,它无法工作。有人可以帮助我吗?

 $(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

试试这个

我唯一怀疑的是 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>


仍然无法正常工作。我认为问题在于正则表达式。你能否提供建议? - Prakash Kumar Guru
什么没有起作用?只有正则表达式吗?您想要验证手机号码的什么内容? - Manoz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接