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 に答える