JQuery PhoneUS验证无法正常工作

时间:2015-02-16 08:37:00

标签: jquery regex jquery-validate

我正在尝试使用JQuery验证PhoneUS验证字段。它无法正常工作。它可以正确验证某些电话号码,但有时它无法正常工作。我的JSP在下面。

$( "#myform" ).validate({
  rules: {
    field: {
      required: true,
      phoneUS: true
    }
  }
});

Html代码是:

<form id="myform">
  <label for="field">Required, us phone number: </label>
  <input class="left" id="field" name="field">
  <br/>
  <input type="submit" value="Validate!">
</form>

它正确验证了这种数字,如882282 ****。但有时这对于像801121 ****这样的数字不能正常工作。当我输入这种数字时,我收到此消息“请指定有效的电话号码”。

请帮帮我

提前致谢。

1 个答案:

答案 0 :(得分:0)

我认为801121****在phoneus正则表达式中无效请参阅http://jqueryvalidation.org/phoneUS-method/

以下代码用于验证美国电话号码

//http://jqueryvalidation.org/files/dist/additional-methods.min.js
a.validator.addMethod('phoneUS', function (a, b) {
    return a = a.replace(/\s+/g, ''),
    this.optional(b) || a.length > 9 && a.match(/^(\+?1-?)?(\([2-9]([02-9]\d|1[02-9])\)|[2-9]([02-9]\d|1[02-9]))-?[2-9]([02-9]\d|1[02-9])-?\d{4}$/)
}, 'Please specify a valid phone number'),

如果它有效,那么您可以创建自己的custom method来验证它