Jquery表单validation – 电话号码

我已经在表单上设置了jQueryvalidation,validation当前测试的是电话号码字段不是空的并且是一个数字,但我希望它能够处理用户在移动/区号之后放置空格。

任何人都可以建议我需要做什么来允许这个?

这是我目前的代码 –

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

我强烈建议使用jQueryvalidation而不是重新发明轮子

使用jqueryvalidation快速谷歌搜索英国号码,这转变了

filter

看起来像这样

 jQuery.validator.addMethod('phoneUK', function(phone_number, element) { return this.optional(element) || phone_number.length > 9 && phone_number.match(/^(\(?(0|\+44)[1-9]{1}\d{1,4}?\)?\s?\d{3,4}\s?\d{3,4})$/); }, 'Please specify a valid phone number' ); 

使用此正则表达式validation电话号码。

 var pattern = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/; if(!$('#phone').val().test(elementValue)){ //Invalid number } 

此正则表达式可选择接受区号的开始(或结束) ,并可选择接受-区号后的前3位数。