javascriptバリデーション

javascriptバリデーション

javascriptバリデーション form.js

 

var gGlobalCheckFlag = 0; // 1の場合は一回ボタンを押したとき

var gCheckFormArray = { // 3
"name_last":"姓名(姓)",
"name_first":"姓名(名)",
"name_last_kana":"フリガナ(姓)",
"name_first_kana":"フリガナ(名)",
"zip21":"郵便番号",
"zip22":"郵便番号",
"pref21":"都道府県",
"addr21":"住所(市区町村)",
"uDateYJ":"予約日(年)",
"uDateM":"予約日(月)",
"uDateD":"予約日(日)",
"email":"メールアドレス",
"tel_num1":"電話番号(市外局番)",
"tel_num2":"電話番号(市内局番)",
"tel_num3":"電話番号(加入者番号)"
}; // 3

var gCheckFormKanaArray = {
"name_last_kana":"フリガナ(姓)",
"name_first_kana":"フリガナ(名)"
};

function checkForm( pType ) {// 36
if (( gGlobalCheckFlag == 0 ) && ( pType == 1 )) { // 37
gGlobalCheckFlag = 1;
}// 37

if ( gGlobalCheckFlag == 1 ) { // 41
// 入力チェック
aErrorFlag = "";
aErrorStr = "";

for (var i in gCheckFormArray) { // 45 ;
if ( $F(i) != "" ) { // 46
$( i ).removeClassName("cssErr");

// アラート非表示
if ( $( i + "_msg" ) != undefined ) { // 47

$( i + "_msg" ).innerHTML = "";
} // 47
} // 46
else { // 54 $F(i)の値がない場合
//
aErrorMsg = "「" + gCheckFormArray[ i ] + "」を入力してください。";
aErrorFlag = 1;
aErrorStr += "<div>" + aErrorMsg + "</div>" ;
// 色変更
$( i ).addClassName("cssErr");
// アラート表示
if ( $( i + "_msg" ) != undefined ) {// 63
$( i + "_msg" ).innerHTML = aErrorMsg;
//
} // 63 if
} // 54 else
} // 45 for

// カタカナチェック
for (var i in gCheckFormKanaArray ) {//alert ($F(i));
if ( $F(i) != "" ) {
if ( checkZenkakuKana( $F(i) ) == true ) {
$( i ).removeClassName("cssErr");

// アラート非表示
if ( $( i + "_msg" ) != undefined ) {
$( i + "_msg" ).innerHTML = "";
}
} else {
aErrorMsg = "「" + gCheckFormKanaArray[ i ] + "」を全角カタカナで入力してください。";
aErrorFlag = 1;
aErrorStr += "<div>" + aErrorMsg + "</div>" ;

// 色変更
$( i ).addClassName("cssErr");

if ( $( i + "_msg" ) != undefined ) {// アラート表示
$( i + "_msg" ).innerHTML = aErrorMsg;
}
}
}
}

// 追加チェックalert ("メールアドレス書式");
if ( checkAlphabet($F('email')) == false ) {
aErrorFlag = 1;
aErrorMsg = "「メールアドレス」の形式に誤りがあります。正しいメールアドレスを入力して下さい。";
aErrorStr += "<div>" + aErrorMsg + "</div>";
if ( $( "email_msg" ) != undefined ) {
$( "email_msg" ).innerHTML = aErrorMsg;
}

// 色変更 alert ("色変更");
$( 'email' ).addClassName("cssErr");
}

// 追加チェック(電話番号チェック) alert ("追加チェック");
if (( $F( "tel_num1" ) != "" ) && ( $F( "tel_num2" ) != "" ) && ( $F( "tel_num3" ) != "" )) {
len = ( $F( "tel_num1" ) + $F( "tel_num2" ) + $F( "tel_num3" ) ).length;
if (( len == 11 ) || ( len == 10 )) {
;
} else {
aErrorFlag = 1;
aErrorMsg = "「電話番号」は10桁(IP電話は11桁)の数値で入力してください。";
aErrorStr += "<div>" + aErrorMsg + "</div>";

if ( $( "tel_num1_msg" ) != undefined ) {
$( "tel_num1_msg" ).innerHTML = aErrorMsg;
}

$( 'tel_num1' ).addClassName("cssErr");
$( 'tel_num2' ).addClassName("cssErr");
$( 'tel_num3' ).addClassName("cssErr");
}
}

// 追加チェック(番地情報を含むか) alert ("追加チェック");
if ( checkNumeric( $F( 'addr21' )) != true ) {
aErrorFlag = 1;
aErrorMsg = "「住所」は番地まで入力して下さい。";
aErrorStr += "<div>" + aErrorMsg + "</div>";

if ( $( "addr21_msg" ) != undefined ) {
$( "addr21_msg" ).innerHTML = aErrorMsg;
}

$( 'addr21' ).addClassName("cssErr");
}

// 最終確認
if ( aErrorFlag == 1 ) {

return false; //submit の返り値が false なら submit の処理が中断される
}
else {
if ( pType == 1 ) {
return true;
}
}
}
}

function checkNumeric( pStr ) {
if( pStr.match( /[0-90-9]/ ) ) {
return true;
} else {
return false;
}
}

function checkZenkakuKana( pStr ) {
if( pStr.match( /[^ァ-ンー]+/ ) ) {
return false;
} else {
return true;
}
}

function checkAlphabet( pStr ) {
if( pStr.match( /^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/ ) ) {
return true;
} else {
return false;
}
}