对不起,这似乎很容易解决。我一直在寻找解决方案,但我找不到一个有效的解决方案。
所以,我有一个电话号码输入,
<input class="only_number" id="phone" name="phone" type="text" value="">
但问题是输入正在验证4个数字或更多,我需要它只接受12个数字。不多也不少。
这里有什么解决方案? 谢谢!
答案 0 :(得分:1)
提交按钮尝试这样
$( "form" ).submit(function( event ) {
if (!/^\d{12}$/.test($("#phone").val())) {
alert("12 numbers are required");
$("#phone").val('');
event.preventDefault();
}
return;
});
使用带有焦点的正则表达式进行验证
$( "#phone" )
.focusout(function() {
if (!/^\d{12}$/.test($("#phone").val())) {
alert("12 numbers are required");
$("#phone").val('');
}
});
答案 1 :(得分:0)
var phone = $('input[name="phone"]').val();(select your field here.)
intRegex = /^[0-9 ]+$/;
if((phone.length <> 12) || (!intRegex.test(phone)))
{
alert('Please enter a valid phone number.');
return false;
}
答案 2 :(得分:0)
由于(目前)没有内置方法,因此您需要添加自己的方法。这可行:
jQuery.validator.addMethod("exactlength", function(value, element, param) {
return this.optional(element) || value.length == param;
}, $.validator.format("Please enter exactly {0} characters."));
Which could then be used like this:
$("#formtovalidate").validate({
rules: {
somefield: {
exactlength: 12
}
});
的回答
答案 3 :(得分:0)
<form>
<input pattern=".{12,12}">
<input type="submit" value="I only accept 12 chars"></input>
</form>