jQuery的电话号码格式检查没有验证插件

jQuery的电话号码格式检查没有验证插件

问题描述:

有谁知道如何绞合一个简单的美国格式的电话号码检查器,而无需使用验证插件?jQuery的电话号码格式检查没有验证插件

到目前为止,我有这样的,但我似乎无法得到它的工作。

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 
    } 
} 
+1

你有看看http://*.com/questions/6915650/jquery-validation-of-nanp-phone-numbers?rq=1吗? – j08691 2014-09-03 19:23:01

+0

奥斯汀,这个bin必须与http://pastebin.com/RGAEresD相关,如果是你的,请将其包含在你的问题中。如果它不是来自你,我们有一个问题。 – 2014-09-03 19:25:28

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

我觉得你的问题是:

var phone_number = $(this.value).replace(/\s+/g, ''); 

应该是:

var phone_number = $(this).val().replace(/\s+/g, ''); 

有可能是另外一个问题,但这种立即跳出来给我。