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