我正在使用jQuery验证。我正在使用minlength:8和maxlength:10作为手机号码。
如果我添加7个数字,则验证有效
注意:我在7号上加了点号(。)表示8,并且已被接受。
(如果我在末尾添加点号(。),则会出现错误)
注意:我添加了9个数字并被接受。
用户可以通过任何方式输入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>
答案 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