【发布时间】:2019-04-27 06:38:02
【问题描述】:
我正在使用 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>
【问题讨论】:
-
请不要这样做。没有什么比让一个网站告诉我我的手机号码是错误的更糟糕的了,这是由一些没有考虑所有当前有效格式的程序员创建的有缺陷的验证,更不用说任何未来的格式了。如果您想验证手机号码,让用户输入他们想要的任何内容,并向其发送一条带有用户必须输入的响应代码的文本消息。
-
@ReddHerring,但是用户应该输入正确的数字。如果用户输入任何数字,则不需要此字段,则应进行验证。
-
我的意思是你,程序员,不知道正确的数字是多少。即使你完成了这项工作,你的验证也会经常失败,以至于它在经济上毫无价值。与通过向用户地址发送内容来验证电子邮件一样,通过发送消息来验证电话号码。
-
它接受点是因为
number规则包含十进制数字。如果您只想输入数字,那么您将使用digits规则。大多数规则/方法在文档中都有解释。
标签: javascript jquery jquery-validate