我正在尝试使用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 ****这样的数字不能正常工作。当我输入这种数字时,我收到此消息“请指定有效的电话号码”。
请帮帮我
提前致谢。
答案 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来验证它