如何验证12个数字的输入数字?

时间:2017-11-29 18:40:02

标签: jquery html

对不起,这似乎很容易解决。我一直在寻找解决方案,但我找不到一个有效的解决方案。

所以,我有一个电话号码输入,

<input class="only_number" id="phone" name="phone" type="text" value="">

但问题是输入正在验证4个数字或更多,我需要它只接受12个数字。不多也不少。

这里有什么解决方案? 谢谢!

4 个答案:

答案 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('');
    }
  });

JSfiddle

答案 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
    }
   });

来自How can I check for exact length using jQuery Validation?

的回答

答案 3 :(得分:0)

<form>
  <input pattern=".{12,12}">
      <input type="submit" value="I only accept 12 chars"></input>
</form>