有人知道如何在不使用验证插件的情况下编写一个简单的美国格式电话号码检查程序吗?
到目前为止,我有这样的事情,但我似乎无法使它发挥作用。
if($(this).hasClass('phoneNum')) {
var phone_number = $(this.value).replace(/\s+/g, '');
if(phone_number.length > 9 && phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/)) {
//..........do stuff
}
}
发布于 2014-09-03 19:39:27
MadTurki你是对的,但j08691感谢你指导我找到一个更好地回答这个问题的帖子。我以下面的方式结束了,而且效果很好!
if($(this).hasClass('phoneNum')){
var error = 1;
var hasError = false;
var $this = $(this);
var regex1 = /^([2-9]{1}\d{2})([2-9]{1}\d{2})\d{4}$/;
phone = $(this).val();
phone = phone.replace(/[^0-9]/g,'');
if(!regex1.test(phone)){
isValid = false;
$this.css('background-color','#FF7575');
}
else{
area = phone.substring(0,3);
prefix = phone.substring(3,6);
line = phone.substring(6);
$this.val('(' + area + ') ' + prefix + '-' + line);
$this.css('background-color','#A7E9A7');
}
}
发布于 2014-09-03 19:23:47
我想你的问题是:
var phone_number = $(this.value).replace(/\s+/g, '');
应:
var phone_number = $(this).val().replace(/\s+/g, '');
可能还有另外一个问题,但这件事马上就会传到我头上。
https://stackoverflow.com/questions/25652100
复制相似问题