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表单验证-电话号码的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Validation Engine 表单验证

jQuery Validation Engine 表单验证

jQuery formValidator表单验证 禁止输入汉字

jquery validate验证手机号码和座机号码

jquery表单验证插件validation

jQuery基础学习06 jQuery表单验证插件-Validation