我已经在表单上设置了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);
}
}
答案 0 :(得分:5)
我强烈建议使用jQuery validate而不是重新发明轮子
使用jquery验证快速谷歌搜索英国号码已经启用了
看起来像这样
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'
);
答案 1 :(得分:3)
使用此正则表达式验证电话号码。
var pattern = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/;
if(!$('#phone').val().test(elementValue)){
//Invalid number
}
此正则表达式可选择接受区号开始(
或结束)
,并可选择在区号后的前3位数后接受-
。