Jquery表单验证-电话号码
Posted
技术标签:
【中文标题】Jquery表单验证-电话号码【英文标题】:Jquery form validation - telephone number 【发布时间】:2012-03-04 23:56:52 【问题描述】:我已经在表单上设置了 jQuery 验证,验证当前测试电话号码字段不为空并且是一个数字,但我希望它能够处理用户在移动/区域之后放置一个空格代码。
任何人都可以建议我需要做什么才能允许这样做吗?
这是我当前的代码 -
if((phone.length == 0) || (names == 'Please Enter Your Contact Number (no space)'))
var error = true;
$('.error').fadeIn(500);
$('.pStar').fadeIn(500);
else
var value = $('#phone').val().replace(/^\s\s*/, '').replace(/\s\s*$/, '');
var intRegex = /^\d+$/;
if(!intRegex.test(value))
var error = true;
$('.error').fadeIn(500);
$('.pStar').fadeIn(500);
else
$('.pStar').fadeOut(500);
【问题讨论】:
您能提供一些有效/无效的输入吗? 【参考方案1】:我强烈建议使用jQuery validate 而不是重新发明***
使用 jquery validate 快速在 Google 上搜索英国号码
filters
看起来像这样
jQuery.validator.addMethod('phoneUK', function(phone_number, element)
return this.optional(element) || phone_number.length > 9 &&
phone_number.match(/^(\(?(0|\+44)[1-9]1\d1,4?\)?\s?\d3,4\s?\d3,4)$/);
, 'Please specify a valid phone number'
);
【讨论】:
【参考方案2】:使用此正则表达式验证电话号码。
var pattern = /^\(?(\d3)\)?[- ]?(\d3)[- ]?(\d4)$/;
if(!$('#phone').val().test(elementValue))
//Invalid number
此正则表达式可以选择接受以(
开头或以)
结尾的区号,并且可以选择在区号后的前3 位数字后接受-
。
【讨论】:
是的,它主要用于美国号码,但也会验证其他电话号码格式,几乎没有变化,因为()
和 -
是可选的。以上是关于Jquery表单验证-电话号码的主要内容,如果未能解决你的问题,请参考以下文章