function strRuleChk(STR, RULE){
	var ErrStr = "" ;
	var ErrHD = " ： " ;
	switch (RULE) {
		case "1":	// 半角アルファベットのみ許可
			if(!STR.match(/^[a-zA-Z]+$/)){
				ErrStr = "半角アルファベット" ;
			}
			break ;
			
		case "2":	// 半角数字のみ許可
			if(!STR.match(/^[0-9]+$/)){
				ErrStr = "半角数字" ;
			}
			break ;
			
		case "3":	// 半角英数字のみ許可
			if(!STR.match(/^[a-zA-Z0-9._-]+$/)){
				ErrStr = "半角英数字" ;
			}
			break ;
			
		case "4":	// 半角英数字 + "." "@" "_" "-"のみ許可
			if(!STR.match(/^[a-zA-Z0-9\.@_-]+$/)){
				ErrStr = "半角英数字と@" ;
			}
			break ;
			
		default:
			break ;
	}
	if(ErrStr){
		ErrStr = ErrHD + ErrStr + "のみ入力可能です。\n" ;
		return ErrStr ;
	} else {
		return false ;
	}
}	


function InpChk(INPUT){
	/* エラーメッセージのローカル変数設定 */
		var errMsg = "入力エラーです。\n\n";	/* 自由に文字を挿入 */
		var empObj = "" ;		/* 未入力フォームオブジェクト変数宣言 */
		var ErHead = "● ";	/* ヘッダー：エラーメッセージ付加用文 */
		var errSwc = "" ;		/* フッター：エラーメッセージ付加用文 */
		var errMsg2 = "\n上記の項目をご確認のうえ、再入力して下さい。";	/* 自由に文字を挿入 */

	/* エラー用配列の生成 */
		var Err = new Array() ;
		var ErrChk = new Array() ;
	
	/* INUPオブジェクトのループ */
	for (i = 0; i < INPUT.length; i++){
		/* オブジェクト[ID]設定確認 */
		if(INPUT.elements[i].id){
			/* ID の分解 */
			elId_array = INPUT.elements[i].id.split(",", 2) ;
			if(elId = elId_array[0]){
				elName = INPUT.elements[i].name ;		/* エレメント名宣言 */
			/* INPUT TYPE 別分岐 */
				switch (INPUT.elements[i].type) {
					case "text":
						if(!INPUT.elements[i].value || INPUT.elements[i].value == " "){
							errSwc = " が未入力です。\n" ;
							Err[elName] = ErHead + elId + errSwc ;
						}
						break ;
					case "radio":
							if(!INPUT.elements[i].checked && ErrChk[elName]!="True"){
									errSwc = " を選択してください。\n" ;
									Err[elName] = ErHead + elId + errSwc ;
							} else {
								Err[elName] = "" ;
								ErrChk[elName] = "True" ;
							}
						break ;
					case "checkbox":
							elName = elName.replace(/_.*/, "") ;	/* 同種チェックボックスの番号消去 */
							if(!INPUT.elements[i].checked && ErrChk[elName]!="True"){
									errSwc = " を選択してください。\n" ;
									Err[elName] = ErHead + elId + errSwc ;
							} else {
								Err[elName] = "" ;
								ErrChk[elName] = "True" ;
							}
						break ;
					default:
						if(!INPUT.elements[i].value){
							errSwc = " が未入力です。\n" ;
							Err[elName] = ErHead + elId + errSwc ;
						}
					break;
				}	// end of switch
			}
		/* 未入力違反がない場合に入力規則チェック */
			if(!Err[elName] && elId_array[1] && INPUT.elements[i].value){
				STR = INPUT.elements[i].value ;
				RULE = elId_array[1] ;
				errSwc = strRuleChk(STR, RULE) ;
				if(errSwc){
					Err[elName] = ErHead + elId + errSwc ;
				}
			}
		}
	}

	/* エラーがある場合にアラート表示 */
	for (i in Err) {
		empObj += Err[i] ;
	}
	if(empObj){
		alert(errMsg+empObj+errMsg2) ;
		return false ;
	} else {
		return true ;
	}
}	// End of function
