验证电话号码格式

时间:2017-02-07 22:54:57

标签: jquery html regex

当我希望它检查它有9个数字并接受它时,如果小于9它将提示无效数字,我希望我的第一个数字从8或9开始

    var phone           = $("#myForm input[name='Number']").val();
    var phone_regex     = /^[0-9]{9}$/; // reg ex phone check   

1 个答案:

答案 0 :(得分:0)

您需要为输入分配一个事件处理程序,例如inputblur。然后,您可以使用RegExp test()来测试模式。要使它长度为9个数字并且必须以8或9开头,您可以使用模式/^[8-9]{1}[0-9]{8}$/g。您将在模式上执行test(),然后有条件地检查结果。

以下示例演示针对正则表达式模式测试的inputblur事件:

HTML:

<form id="myForm">
  <div class="form-group">
    <label for="number1">Phone (Change)</label>
    <input type="text" name="number1">
    <br>
    <span id="error1" class="error"></span>
  </div>
  <div class="form-group">
    <label for="number2">Phone (Change)</label>
    <input type="text" name="number2">
    <br>
    <span id="error2" class="error"></span>
  </div>
</form>

的jQuery

$(document).ready(function() {
  var $form = $('#myForm');

  var $input1 = $form.find('input[name="number1"]');
  var $input2 = $form.find('input[name="number2"]');

  var $error1 = $form.find('#error1');
  var $error2 = $form.find('#error2');

  var pattern = /^[8-9]{1}[0-9]{8}$/g;

  $input1.on('input', function() {
      var value = $(this).val();
      var result = pattern.test(value);

      if(result) {
          console.log('Valid input');
      }
      else {
          $error1.text('Please enter a valid number');
      }
   });

  $input2.on('blur', function() {
    var value = $(this).val();

    var result = pattern.test(value);

    if(result) {
        console.log('Valid input');
    }
    else {
        $error2.text('Please enter a valid number');
    }
  });
});

这是展示功能的jsfiddle

相关问题