1

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

我使用的正则表达式是: /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-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');
        }


 });
4

1 回答 1

2

这应该这样做:

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

这最多匹配 15 个数字,可选前缀+

于 2012-07-09T12:23:33.230 回答