使用jQuery验证电话号码

时间:2012-07-09 12:19:43

标签: jquery forms validation

我已经使用jQuery设置了HTML表单的验证,我正在寻找有关电话号码验证的一些帮助,我一直在网上搜索,这里是我想出来但它仍然无法正常工作!我有电子邮件和名称输入验证,但无法正确理解如何正确实施电话号码验证,因为我提交时仍然接受信件?我需要输入只接受最多15个数字,如果需要,还要在开始时接受+号?

我使用的regEx是:/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+。[ - zA-Z] {2,4} $ /并且我知道这不正确但我甚至无法让它工作?

如何解决此问题的任何输入都非常感谢!

$('#submit_second').click(function(){
    //remove classes
    $('#second_step input').removeClass('error').removeClass('valid');

    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
var phonePattern = /^[0-9]{3}\-[0-9]{7}$/ ;  
    var fields = $('#second_step input[type=text]');
    var error = 0;
    fields.each(function(){
        var value = $(this).val();
        if( value.length<1 || value==field_values[$(this).attr('id')] || ( $(this).attr('id')=='email' && !emailPattern.test(value) )  ) {
            $(this).addClass('error');
            $(this).effect("shake", { times:3 }, 50);

            error++;
        } else {
            $(this).addClass('valid');
        }
    if( value.length<1 || value==field_values[$(this).attr('id')] || ( $(this).attr('id')=='phone' && !phonePattern.test(value) )  ) {
            $(this).addClass('error');
            $(this).effect("shake", { times:3 }, 50);

            error++;
        } else {
            $(this).addClass('valid');
        }


 });

1 个答案:

答案 0 :(得分:2)

这应该这样做:

/^\+?[0-9]{0,15}$/

最多匹配15个数字,可选择以+

为前缀