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

Mobile number validation not working properly using jquery validation

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

如果我添加 7 个数字,验证工作正常

注:我加了7个点号(.)表示8,接受了。

(如果我在末尾添加点 (.),我会收到错误消息)

注意:我加了9个号被接受了

有什么方法可以让用户输入8位数字或10位数字?

你能帮我解决这个问题吗?

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

如果您想使用正则表达式,那么这里有一个用于匹配最少 8 个或最多 10 个数字的正则表达式代码:/(^[1-9]{8,10})/g。在这里测试:https://regexr.com

使用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>