手机号码验证无法使用jquery验证正常工作

时间:2019-04-27 06:38:02

标签: javascript jquery jquery-validate

我正在使用jQuery验证。我正在使用minlength:8和maxlength:10作为手机号码。

如果我添加7个数字,则验证有效

enter image description here

注意:我在7号上加了点号(。)表示8,并且已被接受。

(如果我在末尾添加点号(。),则会出现错误)

enter image description here

注意:我添加了9个数字并被接受。

enter image description here

用户可以通过任何方式输入8位数或8位数吗?

您能帮我吗?

$("#testForm").validate({
  rules: {
    mobileno: {
      minlength: 8,
      maxlength: 10,
      number: true
    }
  },
  submitHandler: function(form) {
    $.ajax({
      url: baseUrl + "/Test_control/submitForm",
      type: "POST",
      data: $('#testForm').serialize(),

      success: function(data) {
        window.location.href = baseUrl + "/all_thankyou";

      },
    }); // AJAX Get Jquery statment
  }
});
<form name="form" id="testForm" action="#" method="post">

  <input type="text" name="mobileno">
  <input type="submit" name="send" value="Submit">

</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.0/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.0/additional-methods.min.js"></script>

2 个答案:

答案 0 :(得分:0)

使用 addMethod

$(document).ready(function() {
                $.validator.addMethod(
                    "mobileValidation",
                    function(value, element) {
                        return !/^\d{8}$|^\d{10}$/.test(value) ? false : true;
                    },
                    "Mobile number invalid"
                );

                $("#form").validate({
                    rules: {
                        mobile: {
                            required: true,
                            mobileValidation: $("#mobile").val(),
                        },
                    },
                });
            });
 <script src="https://code.jquery.com/jquery-3.4.0.min.js"></script>

        <script src="https://cdn.jsdelivr.net/npm/jquery-validation@1.19.0/dist/jquery.validate.min.js"></script>
        <form id="form">
            <input type="number" id="mobile" name="mobile" />
            <input type="submit" name="submit" value="submit" />
        </form>

答案 1 :(得分:-1)

如果要使用正则表达式,则以下是用于匹配最小8或最大10个数字的正则表达式代码:/(^[1-9]{8,10})/g。在此处进行测试:https://regexr.com

相关问题