/* 機能 :文字の長さを調べ、指定された長さより超えていたら、超えた文字列をカットし、 指定されたエレメントへフォーカスを移す 引数 :エレメントが存在するフォームオブジェクト 引数 :チェックする文字値を保持しているエレメントオブジェクト 引数 :チェックする長さ 引数 :長さが超えている場合の、次にフォーカスをあてるエレメントオブジェクト 戻り値:なし 備考 : */ function checkLength(in_form,in_element,max_length,in_next_element) { var input_value = in_element.value; if (input_value.length > (max_length-1)) { input_value = input_value.substring(0,max_length); in_element.value = input_value; //nextElementForcus(in_form,in_element); elementForcus(in_next_element); } } /* 機能 :オブジェクトのvalue値がすべて数値かチェックする 引数 :チェックする値を保持したオブジェクト 戻り値:エラーの場合はfalse 備考 : */ function checkSuuti(in_element){ aStr=in_element.value; if (aStr.length > 0) { if(isNaN(aStr)==false) { /*alert("数値です");*/ } else { alert("数値以外の文字が含まれています"); in_element.focus(); in_element.select(); return; } } } /* 機能 :オブジェクトのvalue値がすべて数値かチェックする 引数 :チェックする値を保持したオブジェクト 引数 :最大桁数 戻り値:エラーの場合はfalse 備考 : */ function checkSuutiComma(in_element,in_size){ aStr=in_element.value; aStr = aStr.replace(/,/g,""); if (aStr.length > 0) { if(isNaN(aStr)==false) { /*alert("数値です");*/ } else { alert("数値以外の文字が含まれています"); in_element.focus(); in_element.select(); return; } if (in_size>0 && aStr.length>in_size){ alert("入力出来る桁数は" + in_size + "桁までです"); in_element.focus(); in_element.select(); return; } } } /* 機能 :オブジェクトのvalue値がすべて全角かチェックする 引数 :チェックする値を保持したオブジェクト 戻り値:エラーの場合はfalse 備考 : */ function checkZenkaku(in_element){ aStr = in_element.value; if (aStr.length > 0) { if(retZenkakuFlag(aStr) == false){ in_element.focus(); in_element.select(); alert("全角以外の文字が含まれています"); return false; } else{ /* alert("すべて全角です");*/ return true; } } } function retZenkakuFlag(strTarget){ var i, charTarget, transTarget; var char_length = ("あ".length); transTarget = strTarget.replace(/[ ]/g, ""); if(transTarget.length=0){ return false; } for (i=0; i= " " && charTerget <= "~")||(charTerget >= "。" && charTerget <= "゚")){ return false; } } return true; } /* 機能 :オブジェクトのvalue値がすべて半角かチェックする 引数 :チェックする値を保持したオブジェクト 戻り値:エラーの場合はfalse 備考 : */ function checkHankaku(in_element){ aStr = in_element.value; if (aStr.length > 0) { if(retHankakuFlag(aStr) == false){ in_element.focus(); in_element.select(); alert("半角以外の文字が含まれています"); return false; } else{ /*alert("すべて半角です");*/} //動作確認用 } } function retHankakuFlag(strTarget){ var i, charTarget, transTarget; var char_length = ("あ".length); var flag=0; transTarget = strTarget; if(transTarget.length=0){ flag = flag + 1; } for (i=0; i= " " && charTerget <= "~")||(charTerget >= "。" && charTerget <= "゚")){ flag = flag + 1; } } if (flag > 0){ return(true); } else { return(false); } } /* 機能 :オブジェクトのvalue値が正しい日付か調べる(YYYY/MM/DD or YYYY-MM-DD) 引数 :チェックする値を保持したオブジェクト 戻り値:エラーの場合はfalse 備考 : */ function ValidDate(in_element) { // Checks for the following valid date formats: // YYYY/MM/DD or YYYY-MM-DD in_value = in_element.value; if (in_value==""){ return true; } var split = ""; if(in_value.indexOf("/")>-1){ split_str="/"; } else if(in_value.indexOf("-")>-1){ split_str="-"; } else { alert("正しい日付を入力してください"); in_element.focus(); in_element.select(); return; } parseDate = new Array(3); parseDate = in_value.split(split_str); //年を取得 in_year = parseDate[0]; //月を取得 in_month = parseDate[1]; //日を取得 in_day = parseDate[2]; if((isNaN(in_year))||(isNaN(in_month))||(isNaN(in_day))){ in_element.focus(); in_element.select(); alert("正しい日付を入力してください") return; } if ((in_month>12)||(in_month<1)){ in_element.focus(); in_element.select(); alert("正しい日付を入力してください") return; } myMonthTbl= new Array(31,28,31,30,31,30,31,31,30,31,30,31);// 月テーブル定義 in_year = (in_year<2000) ? (1900+in_year) : (in_year); // 4桁の西暦に変換 if (((in_year%4)==0 && (in_year%100)!=0) || (in_year%400)==0) // うるう年だったら... myMonthTbl[1] = 29; //  2月を29日とする if ((in_day<1)||(in_day>myMonthTbl[in_month-1])){ in_element.focus(); in_element.select(); alert("正しい日付を入力してください") return; } } /* 機能 :オブジェクトのvalue値が正しい日付か調べる(YYMMDD) 引数 :チェックする値を保持したオブジェクト 戻り値:エラーの場合はfalse 備考 : */ function checkDate(in_element){ in_value = in_element.value; if (in_value ==""){ return; } if (in_value.length!=6){ in_element.focus(); in_element.select(); alert("正しい日付を入力してください") return; } if ( in_value == "000000"){ return; } //年を取得 in_year = in_value.substring(0,2); in_value = in_value.substring(2); //月を取得 in_month = in_value.substring(0,2); in_value = in_value.substring(2); //日を取得 in_day = in_value if((in_year=="")||(in_month=="")||(in_day=="")){ in_element.focus(); in_element.select(); alert("正しい日付を入力してください") return; } if((isNaN(in_year))||(isNaN(in_month))||(isNaN(in_day))){ in_element.focus(); in_element.select(); alert("正しい日付を入力してください") return; } if ((in_month>12)||(in_month<1)){ in_element.focus(); in_element.select(); alert("正しい日付を入力してください") return; } myMonthTbl= new Array(31,28,31,30,31,30,31,31,30,31,30,31);// 月テーブル定義 in_year = (in_year<2000) ? (1900+in_year) : (in_year); // 4桁の西暦に変換 if (((in_year%4)==0 && (in_year%100)!=0) || (in_year%400)==0) // うるう年だったら... myMonthTbl[1] = 29; //  2月を29日とする if ((in_day<1)||(in_day>myMonthTbl[in_month-1])){ in_element.focus(); in_element.select(); alert("正しい日付を入力してください") return; } }