var sMessage = ""; function setMessage(msgID,obj) { if(msgID=="") { return msgID; } var stemp1 = ""; if ( msgID=="MSG_G0001") { stemp1="は半角数字を入力してください。"; } if ( msgID=="MSG_G0002") { stemp1="は半角英字を入力してください。"; } if ( msgID=="MSG_G0003") { stemp1="は半角文字を入力してください。"; } if ( msgID=="MSG_G0004") { stemp1="に半角英数字 + \"-\" + \"_\" 型の値を入力してください。"; } if ( msgID=="MSG_G0005") { stemp1="に半角文字型の値を入力してください。"; } if ( msgID=="MSG_G0006") { stemp1="は全角文字を入力してください。"; } if ( msgID=="MSG_G0007") { stemp1="に文字として判別を入力してください。"; } if ( msgID=="MSG_G0008") { stemp1="は全角カナ文字を入力してください。"; } if ( msgID=="MSG_G0009") { stemp1="に有効な数字を入力してください。"; } if ( msgID=="MSG_G0010") { stemp1="に有効な日付形式(yyyy/mm/dd)を入力してください。"; } if ( msgID=="MSG_G0011") { stemp1="に有効な年を入力してください。"; } if ( msgID=="MSG_G0012") { stemp1="に有効な月を入力してください。"; } if ( msgID=="MSG_G0013") { stemp1="に有効な日を入力してください。"; } if ( msgID=="MSG_G0014") { stemp1="に有効な時間を入力してください。"; } if ( msgID=="MSG_G0015") { stemp1="に有効な時刻形式(hh:mm)を入力してください。"; } if ( msgID=="MSG_G0016") { stemp1="に有効な時間を入力してください。"; } if ( msgID=="MSG_G0017") { stemp1="に有効な分を入力してください。"; } if ( msgID=="MSG_G0018") { stemp1="に有効なメールアドレス(xxx@xx.xx.xx 形式)を入力してください。"; } if ( msgID=="MSG_G0019") { stemp1="に有効な数字を入力してください。"; } if ( msgID=="MSG_G0020") { stemp1="に有効な市外局番を入力してください。"; } if ( msgID=="MSG_G0021") { stemp1="に有効な市内局番を入力してください。"; } if ( msgID=="MSG_G0022") { stemp1="に有効なFAXを入力してください。"; } if ( msgID=="MSG_G0023") { stemp1="に有効な郵便番号を入力してください。"; } if ( msgID=="MSG_G0024") { stemp1="に有効な数字を入力してください。"; } if ( msgID=="MSG_G0025") { stemp1="に有効な小数を入力してください。"; } if ( msgID=="MSG_G0026") { stemp1="に有効な日付を入力してください。"; } if ( msgID=="MSG_G0027") { stemp1="に半角カナが含まれを入力してください。"; } if ( msgID=="MSG_G0028") { stemp1="に桁で指定された数値以下を入力してください。"; } if ( msgID=="MSG_G0029") { stemp1="にファイル名として許される文字を入力してください。"; } if ( msgID=="MSG_G0030") { stemp1="を入力してください。"; } if ( msgID=="MSG_G0031") { stemp1="EメールアドレスとEメールアドレス(確認用)が入力一致しません。"; } if ( msgID=="MSG_G0032") { stemp1="文字以下で入力してください。"; } if ( msgID=="MSG_G0033") { stemp1="桁の数字を入力してください。"; } if ( msgID=="MSG_G0034") { stemp1="を入力してください。"; } if ( msgID=="MSG_G0035") { stemp1="を正しく入力してください。"; } if ( msgID=="MSG_G0036") { stemp1="には0より大きい値を入力してください。"; } if ( msgID=="MSG_G0038") { stemp1="には6桁以上の値を入力してください。"; } if ( msgID=="MSG_G0039") { stemp1="には32桁以下の値を入力してください。"; } if ( msgID=="MSG_G0037") { stemp1 = "{0}は{1}桁以上{2}桁以内で入力してください。"; } if ( msgID=="MSG_G0040") { stemp1 = "{0}は{1}バイト数以上{2}バイト数以内で入力してください。"; } if ( msgID=="MSG_G0041") { stemp1 = "携帯メールアドレスと携帯メールアドレス(確認用)が一致しません。"; } if ( msgID=="MSG_G0042") { stemp1="には10桁以下の値を入力してください。"; } if ( msgID=="MSG_G0043") { stemp1="には48桁以下の値を入力してください。"; } //ADD 2008/05/28 HCS 障害No.006 START if ( msgID=="MSG_G0044") { stemp1=""; } //ADD 2008/05/28 HCS 障害No.006 END if ( msgID=="MSG_G0045") { stemp1="文字以下の値を入力してください。"; } // 東急用カスタマイズ ADD START if ( msgID=="MSG_G0046") { stemp1="を選択してください。"; } if ( msgID=="MSG_G0047") { stemp1="に全角カナ文字または半角英数字を入力してください。"; } if ( msgID=="MSG_G0048") { stemp1="の範囲指定が誤りです。"; } if ( msgID=="MSG_G0049") { stemp1="{0}は{1}文字以内で入力してください。"; } if ( msgID=="MSG_G0050" ) { stemp1="には姓と名の間に全角スペースを入れてください。"; } if ( msgID=="MSG_G0051" ) { stemp1="にのしをご指定ください。"; } if ( msgID=="MSG_G0052" ) { stemp1="の商品数をご指定してください。"; } if ( msgID=="MSG_G0053" ) { stemp1="は半角英数字を入力してください。"; } if ( msgID=="MSG_G0037" || msgID=="MSG_G0040" || msgID=="MSG_G0049") { strArr = obj.split(","); for (i = 0;i < strArr.length;i++) { var str = "{" + i + "}"; stemp1 = stemp1.replace(str,strArr[i]); } sMessage += stemp1 + "\r\n"; } else { sMessage += obj + stemp1 + "\r\n"; } } function showMessage(){ if(sMessage !="") { alert(sMessage); sMessage = ""; return false; } return true; } /** 5.1 * value で指定された文字列が半角数字のみであるかを調べます * @value 対象となる文字列 * @return 半角数字のみならば、true を返し、それ以外ならば false を返します */ function isValidNumber(value){ var ret = true; if (value == "") { return ret; } var kigouArray = new Array(); kigouArray= value.match(new RegExp(/[^0-9]/gm)); if(kigouArray != null) { ret= false; } return ret; } /** 5.2 * value で指定された文字列が半角英字のみであるかを調べます
* @value 対象となる文字列 * @return 半角英字のみならば、true を返し、それ以外ならば false を返します */ function isValidAlphabet(value){ var ret = true; if (value == "") { return ret; } var kigouArray = new Array(); kigouArray= value.match(new RegExp(/[^a-zA-Z]/gm)); if(kigouArray != null) { ret= false; } return ret; } /** 5.3 * value で指定された文字列が半角英数字のみであるかを調べます
* @value 対象となる文字列 * @return 半角英数字のみならば、true を返し、それ以外ならば false を返します */ function isValidAlphabetAndNumber(value){ var ret = true; if (value == "") { return ret; } var kigouArray = new Array(); kigouArray= value.match(new RegExp(/[^0-9a-zA-Z]/gm)); if(kigouArray != null) { ret= false; } return ret; } /** 5.4 * value で指定された文字列が半角英数字 + "-" + "_" のみであるかを調べます
* @value 対象となる文字列 * @return 半角英数字のみならば、true を返し、それ以外ならば false を返します */ function isValidAlphabetAndNumberPlus(value){ var ret = true; if (value == "") { return ret; } var kigouArray = new Array(); kigouArray= value.match(new RegExp(/[^0-9a-zA-Z-_]/gm)); if(kigouArray != null) { ret= false; } return ret; } //ADD 2008/05/28 HCS 障害No.004 START /** * value で指定された文字列が半角英数字 + "-" + "_" + "#" + "$" + "=" + "?" + "@" + "[" + "]" + "."のみであるかを調べます
* value で指定された文字列が半角英数字 + "-" + "_" + "@" + "."のみであるかを調べます(2008/11/05修正)
* @value 対象となる文字列 * @return 半角英数字のみならば、true を返し、それ以外ならば false を返します */ function isValidAlphabetAndNumberPlus2(value){ var ret = true; if (value == "") { return ret; } var kigouArray = new Array(); //kigouArray= value.match(new RegExp(/[^0-9a-zA-Z@=#\$\[\]\?\-_\.]/gm)); kigouArray= value.match(new RegExp(/[^0-9a-zA-Z@\-_\.]/gm)); if(kigouArray != null) { ret= false; } return ret; } //ADD 2008/05/28 HCS 障害No.004 END /** 5.5 * value で指定された文字列が半角文字のみであるかを調べます
* @value 対象となる文字列 * @return 半角文字のみするならば、true を返し、それ以外ならば false を返します */ function isValidAscii(value){ var ret = true; if (value == "") { return ret; } var kigouArray = new Array(); kigouArray= value.match(new RegExp(/[^0-9a-zA-Z\uFF61-\uFFDC]/gm)); if(kigouArray != null) { ret= false; } return ret; } /** 5.6 * value で指定された文字列が全角文字のみであるかを調べます
* @value 対象となる文字列 * @return 全角文字のみならば、true を返し、それ以外ならば false を返します */ function isValidDoubleByte(value){ var ret = true; if (value == "") { return ret; } ret = isDoubleByte(value) return ret; } /** 5.7 * value で指定された文字列が文字として判別できるかを調べます
* @value 対象となる文字列 * @return 判別できるならば、true を返し、それ以外ならば false を返します */ function isValidString(value) { var ret = true; ret = isString(value); return ret; } /** 5.8 * value で指定された文字列が全角カナ文字のみであるかを調べます
* @value 対象となる文字列 * @return 全角カナ文字のみならば、true を返し、それ以外ならば false を返します */ function isValidKanaString(value) { return isKanaString(value); } /** 5.9 * value で指定された文字列が有効な日付であるかを調べます * @value 対象となる文字列 * @return 有効な日付ならば、true を返し、それ以外ならば false を返します */ function isValidDate(value) { if (value == "") { return true; } var re=/^(\d{1,4})(|\/)(\d{1,2})\2(\d{1,2})(?:\s+(\d{1,2}):(\d{1,2}):(\d{1,2}))*$/g; var r = value.match(re); if(r == null) { return false; } else { var arrDate = value.split("/"); if(arrDate[0].length <4){ return false; } var date = new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]); /*2007/09/04 yufeng update start*/ var sYear = (date.getYear()<1900?(1900+date.getYear()):date.getYear()); /*2007/09/04 yufeng update end*/ if(sYear == arrDate[0] && date.getMonth() == (parseInt(arrDate[1],10) -1)+"" && date.getDate() == arrDate[2]) { return true; } else { return false; } } } /** 5.10 * value で指定された文字列が日付形式(yyyy/mm/dd)であるかを調べます
* @value 対象となる文字列 * @return 日付形式(yyyy/mm/dd)ならば、true を返し、それ以外ならば false を返します */ function isValidFormatDate(value) { var ret = false; if (value == "") { return true; } if ( value.length != 10 ) { return ret; } var cnt=0; for(cnt; cnt < value.length; cnt++) { var c = value.charAt(cnt); //alert(cnt); if(cnt == 4 || cnt == 7 ) { var kigouArray = new Array(); kigouArray=c.match(new RegExp(/[^\u002f]/gm));//0x002f = "/" if(kigouArray != null) { ret= false; } //alert(ret); } else { ret = isNumber( c ); } if( ret == false ) { return ret; } } return ret; } /** 5.11 * value で指定された文字列が有効な年であるかを調べます
* @value 対象となる文字列 * @return 有効な年ならば、true を返し、それ以外ならば false を返します */ function isValidYYYY(value) { var ret = true; if (value == "") { return ret; } if(!isNumber(value) || (value.length != 4)) { return false; } if(parseInt(value) > 3000 || parseInt(value) < 1799) { return false; } return ret; } /** 5.12 * value で指定された文字列が有効な月であるかを調べます
* @value 対象となる文字列 * @return 有効な月ならば、true を返し、それ以外ならば false を返します */ function isValidMM(value) { var ret = true; if (value == "") { return ret; } //2桁以外の入力は不可 if(value.length!=2) { ret = false; return ret; } //数値チェック ret=isNumber(value); if(ret == false) { return ret; } //var iValue=parseInt(value); //alert(iValue); if(value <1 || value>12) { return false; } return true; } /** 5.13 * value で指定された文字列が有効な日であるかを調べます
* @value 対象となる文字列 * @return 有効な日するならば、true を返し、それ以外ならば false を返します */ function isValidDD(value) { var ret = true; if (value == "") { return ret; } if(!isNumber(value) || (value.length != 2)) { return false; } if(parseInt(value) > 31 || parseInt(value) < 1) { return false; } return ret; } /** 5.14 * value で指定された文字列が有効な時間であるかを調べます
* @value 対象となる文字列 * @return 有効な時間ならば、true を返し、それ以外ならば false を返します */ function isValidTime(value) { var ret = true; if (value == "") { return ret; } if(!isValidHH(value.substr(0,2))) { return false; } if(!isValidMINUTES(value.substring(3,5))) { return false; } return ret; } /** 5.15 * value で指定された文字列が時刻形式(hh:mm)であるかを調べます
* @value 対象となる文字列 * @return 時刻形式(hh:mm)ならば、true を返し、それ以外ならば false を返します */ function isValidFormatTime(value) { var ret = true; if (value == "") { return ret; } if(value.length != 5) { return false; } for(var cnt = 0; cnt < 5; cnt += 1) { if(cnt == 2) { ret = (value.charAt(2) == ":"); } else { ret = isNumber( value.charAt(cnt) ); } if(ret == false) { return ret; } } return ret; } /** 5.16 * value で指定された文字列が有効な時間であるかを調べます
* @value 対象となる文字列 * @return 有効な時間ならば、true を返し、それ以外ならば false を返します */ function isValidHH(value) { if (value == "") { return true; } //2桁以外の入力は不可 if(value.length!=2) { return false; } var ret=isNumber(value); if(ret==false) { return ret; } var iValue=parseInt(value); if(iValue <0 || iValue>23) { return false; } return true; } /** 5.17 * value で指定された文字列が有効な分であるかを調べます
* @value 対象となる文字列 * @return 有効な分ならば、true を返し、それ以外ならば false を返します */ function isValidMINUTES(value) { var ret = true; if (value == "") { return ret; } if(!isNumber(value) || (value.length != 2)) { return false; } if(value < 0 || value > 59) { return false; } return ret; } /** 5.18 * value で指定された文字列が有効なメールアドレス(xxx@xx.xx.xx の形式)であるかを調べます
* @value 対象となる文字列 * @return 有効なメールアドレスならば、true を返し、それ以外ならば false を返します */ function isValidEmail(value) { var ret = true; if (value == "") { return ret; } //"@"位置チェック var i; i = value.length; var j; j= value.indexOf("@"); //"@"存在/中間チェック if(j<= 0 || j == i-1) { ret = false; return ret; } //alert(i+j); var k; k = value.lastIndexOf("@"); //"@"複数チェック if(j!=k) { ret = false; return ret; } //alert(i+j+k); return isEmail(value); } /** 5.19 * value で指定された文字列が有効な電話番号であるかを調べます
* 電話番号は、英数字ハイフンで構成されたものに限ります
* @value 対象となる文字列 * @return 有効な電話番号ならば、true を返し、それ以外ならば false を返します */ function isValidTelNo(value) { if (value == "") { return true; } var vals = new Array(4); for(var i=0;i 3) { return false; } } else { return false; } } switch (vals[0]){ case 1: // ハイフンが一つの時 ***-*** 形式であること if (parseInt(vals[1]) < 2 || parseInt(vals[2]) < 4) return false; break; case 2: // ハイフンが二つの時 ***-***-*** 形式であること if (parseInt(vals[1]) < 2 || parseInt(vals[2]) < 0 || parseInt(vals[3]) < 4) return false; break; default: return false; // ハイフンの数は1以上、2以下(市内局番がない地域があることを考慮) } return true; } /** 5.20 * value で指定された文字列が有効な市外局番であるかを調べます
* @value 対象となる文字列 * @return 有効な市外局番ならば、true を返し、それ以外ならば false を返します */ function isValidTelNo1(value) { var ret = true; ret = isValidNumber(value); return ret; } /** 5.21 * value で指定された文字列が有効な市内局番であるかを調べます
* @value 対象となる文字列 * @return 有効な市内局番ならば、true を返し、それ以外ならば false を返します */ function isValidTelNo2(value) { var ret = true; ret = isValidNumber(value); return ret; } /** 5.22 * value で指定された文字列が有効な電話番号であるかを調べます
* @value 対象となる文字列 * @return 有効な電話番号ならば、true を返し、それ以外ならば false を返します */ function isValidTelNo3(value) { var ret = true; ret = isValidNumber(value); return ret; } /** 5.23 * value で指定された文字列が有効な郵便番号であるかを調べます
* @value 対象となる文字列 * @return 有効な郵便番号ならば、true を返し、それ以外ならば false を返します */ function isValidZipCode(value) { var ret = true; if (value == "") { return ret; } var kigouArray = new Array(); // 桁数チェック if(value.length != 8) { ret = false; return ret; } for(var cnt = 0; cnt < 8; cnt += 1) { var c = value.charAt(cnt); if(cnt == 4) { kigouArray = c.match(new RegExp(/[^\u002d]/gm)); if(kigouArray != null) { ret = false; } } else { ret = isNumber(c); } if(ret == false) { return ret; } } return ret; } /** 5.24 * value で指定された文字列が有効な整数であるかを調べます
* @value 対象となる文字列 * @return 有効な整数ならば、true を返し、それ以外ならば false を返します */ function isValidInteger(value) { if (value == "") { return true; } try{ if(!isInteger(value)) { return false; } var lng = parseInt(value); //alert(lng.toString().length); if(isNaN(lng)) { return false; } else if(lng.toString().length * @value 対象となる文字列 * @return 有効な小数ならば、true を返し、それ以外ならば false を返します */ function isValidDecimal(value) { var ret = true; var dot = 0; var flag = 0; if(!isDecimal(value)) { return false; } for(var cnt = 0; cnt < value.length; cnt += 1) { if(cnt == 0 && value.charAt(cnt) == ".") { return false; } else if(cnt == 1 && value.charAt(1) == "." && value.charAt(0) == "-") { return false; } else if(value.charAt(cnt) == "-" && cnt != 0) { return false; } else if(value.charAt(cnt) == "-") { flag++; } else if(value.charAt(cnt) == ".") { dot++; } } if(flag > 1 || dot > 1) { return false; } return ret; } /** 5.26 * value で指定された文字が半角数字であるかを調べます
* @value 対象となる文字 * @return 半角数字ならば、true を返し、それ以外ならば false を返します */ function isNumber(value) { var ret = true; var kigouArray = new Array(); kigouArray = value.match(new RegExp(/[^0-9]/gm)); if(kigouArray != null) { ret = false; } else { ret = true; } return ret; } /** 5.27 * value で指定された文字が半角英字であるかを調べます * @value 対象となる文字 * @return 半角英字でるならば、true を返し、それ以外ならば false を返します */ function isAlphabet(value) { var ret = true; if (value == "") { return ret; } var kigouArray = new Array(); kigouArray= value.match(new RegExp(/[^a-zA-Z]/gm)); if(kigouArray != null) { ret= false; } return ret; } /** 5.28 * value で指定された文字が半角英数字であるかを調べます
* @value 対象となる文字 * @return 半角英数字でるならば、true を返し、それ以外ならば false を返します */ function isAlphabetAndNumber(value) { return isNumber(value) || isAlphabet(value); } /** 5.29 * value で指定された文字が半角英数字 + "-" + "_"であるかを調べます
* @value 対象となる文字 * @return 半角英数字でるならば、true を返し、それ以外ならば false を返します */ function isAlphabetAndNumberPlus(value) { var ret = true; if (value == "") { return ret; } var kigouArray = new Array(); kigouArray= value.match(new RegExp(/[^0-9a-zA-Z-_]/gm)); if(kigouArray != null) { ret= false; } return ret; } /** 5.30 * value で指定された文字が半角文字(ASCII)であるかを調べます
* @value 対象となる文字 * @return 半角文字(ASCII)ならば、true を返し、それ以外ならば false を返します */ function isAscii(value) { var ret = true; var kigouArray = new Array(); if(value == "") { return ret; } kigouArray= value.match(new RegExp(/[^\uFF61-\uFFDC]/gm)); if(kigouArray != null) { ret = false; } else { ret = true } return ret; } /** 5.31 * value で指定された文字が全角文字であるかを調べます
* @value 対象となる文字 * @return 全角文字ならば、true を返し、それ以外ならば false を返します */ function isDoubleByte(value) { if (value == "") { return true; } var ret = true; var kigouArray = new Array(); if(value == "") { return ret; } var cnt = 0; for (cnt = 0; cnt < value.length; cnt += 1) { var c=value.charAt(cnt); kigouArray = c.match(new RegExp(/[^\uff61-\uff9f]/gm)); if(kigouArray == null) { ret = false; } } if(ret ==false ) return ret ; for (cnt = 0; cnt < value.length; cnt += 1) { var c=value.charAt(cnt); kigouArray = c.match(new RegExp(/[^\u0020-\u007e]/gm)); if(kigouArray == null) { ret = false; } } return ret; } /** 5.32 * value で指定された文字が半角カナであるかどうかを調べます
* @value 対象となる文字 * @return 半角カナが含まれているならば、true を返し、それ以外ならば false を返します */ //sufeng update start 10070725 function isString(value) { if(value == "") { return true; } return !(isHalfKana(value)); } //sufeng update end 10070725 /** 5.33  * value で指定された文字列に半角カナが含まれているかを調べます * @value 対象となる文字列 * @return 半角カナ文字が含まれていればtrue を返し、それ以外ならば false を返し */ function isHalfKanaString(value){ return isHalfKana(value); } /** 5.34 * value で指定された文字が全角カナ文字であるかを調べます
* @value 対象となる文字 * @return 全角カナ文字ならば、true を返し、それ以外ならば false を返します */ function isKanaString(value) { return isAscii(value) || isFullKataKana(value); } /** 5.35 * value で指定された文字列が keta で指定された数値以下であるかを調べます
* @value 対象となる文字列 * @keta 桁数 * @return keta 数以下または数字以外の値が value に含まれているならば、false を返し、それ以外ならば true を返します */ function isNumberAndKeta(value, keta) { var ret = true; var i; i = value.length; //桁数チェック if(i * @value 対象となる文字 * @return 全角カナならば true を返し、それ以外ならば false を返します */ function isFullKataKana(value) { var ret = true; var kigouArray = new Array(); if(value == "") { return ret; } // 全角スペースも対象とする //kigouArray = value.match(new RegExp(/[^\u30a0-\u30fc]/gm)); kigouArray = value.match(new RegExp(/[^\u30a0-\u30fc ]/gm)); if(kigouArray != null) { ret = false; } else { ret = true; } return ret; } /** 5.37 * value で指定された文字列がファイル名として許される文字のみであるかを調べます
* @value 対象となる文字列 * @return ファイル名用文字のみならば、true を返し、それ以外ならば false を返します */ function isValidFileName(value) { var ret = true; var firstChar = true ; //ファイル名称のサイズをチェックする。 if (value.length > 256) { return false; } var cnt = 0; for (cnt = 0; cnt < value.length; cnt += 1) { var c=value.charAt(cnt); if ( firstChar ) { ret = isFileNameAsFirstChar(c) ; firstChar = false ; } else { ret = isFileName(c); } if(ret == false) { return ret; } } return ret; } /** 5.38 * value で指定された文字に半角カナが含まれているかどうかを調べます
* @value 対象となる文字 * @return 半角カナならば true を返し、それ以外ならば false を返します */ function isHalfKana(value) { var ret = true; var kigouArray = new Array(); if(value == "") { return ret; } kigouArray = value.match(new RegExp(/[^\uff61-\uff9f]/gm)); if(kigouArray != null) { ret = false; } else { ret = true; } return ret; } /** 5.39 * value で指定された文字が整数であるかを調べます
* @value 対象となる文字 * @return 整数ならば true を返し、それ以外ならば false を返します */ function isInteger(value) { var ret = true; if (value == "") { return ret; } var kigouArray = new Array(); kigouArray= value.match(new RegExp(/[^0-9\u002d]/gm)); if(kigouArray != null) { ret= false; } return ret; } /** 5.40 * value で指定された文字に '-' または半角数字が含まれているかどうかを調べます
* @value 対象となる文字 * @return '-' または半角数字ならば true を返し、それ以外ならば false を返します */ function isTelNo(value) { var ret = true; if (value == "") { return ret; } var kigouArray = new Array(); kigouArray= value.match(new RegExp(/[^0-9\u002d]/gm)); if(kigouArray != null) { ret= false; } return ret; } /** 5.41 * value value で指定された文字列が有効なメールアドレス(xxx@xx.xx.xx の形式)であるかを調べます
* @value 対象となる文字 * @return @return 有効なメールアドレスならば、true を返し、それ以外ならば false を返します */ function isEmail(value) { //return (isAlphabetAndNumber(value) || //value == 0x002d || value == 0x002e || value == 0x0040 || value == 0x005f ); var ret = true; if (value == "") { return ret; } var kigouArray = new Array(); //sufeng start update 20070725 // kigouArray= value.match(/^\w+((-\w+)|(\.\w+)|(\w))*\@([A-Za-z0-9]|(\w))+((\.|\w)[A-Za-z0-9]+)*\.([A-Za-z0-9]|(\w))+$/); kigouArray= value.match(/^[A-Za-z0-9\-_\!\?\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~\.]+\@([A-Za-z0-9\-_\!\?\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~\.])+((\.|\w)[A-Za-z0-9\-_\!\?\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~\.]+)*\.([A-Za-z0-9\-_\!\?\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~\.]|(\w))+$/); if(kigouArray == null) { ret= false; } //sufeng end update 20070725 return ret; } /** 5.42 * value で指定された文字に '-' または '.' が含まれているかどうかを調べます
* @value 対象となる文字 * @return '-' または '.' ならば true を返し、それ以外ならば false を返します */ function isDecimal(value) { var ret = true; var kigouArray = new Array(); if(value == "") { return ret; } kigouArray = value.match(new RegExp(/[^0-9\u002d\u002e]/gm)); if(kigouArray != null) { ret = false; } else { ret = true; } return ret; } /** 5.43 * ch で指定された文字がファイル名先頭の文字として使用可能な文字であるかを調べます
* @ch 対象となる文字 * @return 有効な文字ならば、true を返し、それ以外ならば false を返します */ function isFileNameAsFirstChar(c) { return (isAlphabetAndNumber(c) || c == '_' || c == '.' ); } /** 5.44 * c で指定された文字がファイル名で使用可能な記号であるかを調べます
* @c 対象となる文字 * @return 有効な文字ならば、true を返し、それ以外ならば false を返します */ function isFileName(c) { return (isAlphabetAndNumber(c) || c == '_' || c == '-' || c == '.' ); } /** 5.45 * value で指定された文字に半角カナが含まれているかどうかを調べます
* @value 対象となる文字 * @return 半角カナならば true を返し、それ以外ならば false を返します * * @author BBX */ function havehalfkana(value) { var ret = true; var kigouArray = new Array(); if(value == "") { return ret; } kigouArray = value.match(new RegExp(/[\uff61-\uff9f]/gm)); if(kigouArray == null) { ret = false; } return ret; } /** 5.46 * value で指定された文字が半角カナ文字或は全角カナ文字であるかを調べます
* @value 対象となる文字 * @return 半角カナ文字或は全角カナ文字ならば、true を返し、それ以外ならば false を返します */ function isHanKanaOrZenKanaString(value) { return isAscii(value) || isFullKataKana(cnvt(value)); } // 東急用カスタマイズ ADD START /** * value で指定された文字が全角カナ半角英数字文字であるかを調べます
* @value 対象となる文字 * @return 全角カナ半角英数字文字ならば、true を返し、それ以外ならば false を返します */ function isAlphabetAndNumberAndFullKataKana(value) { var ret = true; var kigouArray = new Array(); if(value == "") { return ret; } // 全角スペースも対象とする //kigouArray = value.match(new RegExp(/[^0-9a-zA-Z\u30a0-\u30fc]/gm)); kigouArray = value.match(new RegExp(/[^0-9a-zA-Z\u30a0-\u30fc ]/gm)); if(kigouArray != null) { ret = false; } else { ret = true; } return ret; } // 東急用カスタマイズ ADD END /** * 不正文字判定処理
* * @param value * @return true:正確文字 false:不正文字 * * @author BBX */ function isInvalidMonJi(value) { if (value == "") { return false; } if(isValidAlphabetAndNumber(value)==true || isHalfKana(value)==true || isFullKataKana(value)==true || isDoubleByte(value)==true) { return false; } return true; } /** * value で指定された生年月日が未来の日付になってないかを調べます * @value 対象となる生年月日 * @return 未来ならば、false を返し、それ以外ならば true を返します */ function isValidBirthday(value){ xx = new Date(); yy = xx.getYear(); mm = xx.getMonth() + 1; dd = xx.getDate(); if (yy < 2000) { yy += 1900; } if (mm < 10) { mm = "0" + mm; } if (dd < 10) { dd = "0" + dd; } if (value > yy + "/" + mm + "/" + dd){ return false; } return true; } /** * メッセージ設定処理
* * @author BBX */ function setMessageEx(msgID,objArr) { if(msgID=="") { return msgID; } var xmlDoc = new ActiveXObject("Msxml2.DOMDocument"); xmlDoc.async = false; xmlDoc.load("js/message.xml"); var node = xmlDoc.selectSingleNode("/root/" + msgID) if(node) { sMessage = node.text; for (i = 0;i < objArr.length;i++) { var str = "{" + i + "}"; sMessage = sMessage.replace(str,objArr[i]); } sMessage += "\r\n"; } } /** * * スペースを除く * @author BBX */ function trim( s ) { return s.replace( /^\s*/, "" ).replace( /\s*$/, ""); } /** * スペースをreplace
* * @author BBX */ function replaceAll(sValue) { var sRet = ""; var sTemp = ""; for (i = 0;i < sValue.length;i++ ) { sTemp = sValue.charAt(i); if ( (escape(sTemp)=="%81%40") || (escape(sTemp)=="%u3000") ) { sTemp = ""; } sRet += sTemp; } return sRet; } /** * 入力データ判定
* * @param sValue 入力データ * @return true: 入力データあり *        false: 入力データなし * * @author BBX */ function hasValue(sValue) { if(sValue == "") { return false; } sTemp =replaceAll(sValue); sTemp = trim(sTemp); if(sTemp == "") { return false; } return true; } /** * データバイト数の比較 * * @param strInput 入力データ * @param intMaxLength バイト数 * @return -1:< ; 0:= ; 1: > * @author BBX */ function compareByteLength(strInput,intLength) { var bytes = getBytes(strInput); if(bytes > intLength){ return 1; } else if (bytes == intLength) { return 0; } else { return -1; } } /** * データバイト数を取得する * * @param strInput 入力データ * @return バイト数を戻す * @author BBX */ function getBytes(strInput) { var hanKanaStart = "0xFF65" var hanKanaEnd = "0xFF9F" var charCd; count = 0; for (i=0; i=65281 && code<= 65373) { result += String.fromCharCode(str.charCodeAt(i)-65248); } else if(code ==12288) { result += String.fromCharCode(str.charCodeAt(i)-12288+32); } else { result += str.charAt(i); } } document.getElementById(textId).value = result; return false; } /** * 全角数字を半角数字に変換する * @param textId * @author ITFOR */ function toNumber(textId) { var zenkaku = "1234567890"; var hankaku = "1234567890"; var num=document.getElementsByName(textId); if (num==null) { var content=document.getElementsById(textId).value; for (var i = 0; i < content.length; i++) { var ch = content.substr(i, 1); var position = zenkaku.indexOf(ch); if (position != -1) { result = result + hankaku.substr(position, 1); } else { result = result + ch; } } document.getElementsById(textId).value = result; } for(j=0;j max ) { setMessage("MSG_G0049", textAreaName + "," + max); // show Msg if(!showMessage()) { formTexArea.innerText = val.substr( 0, max ); return false; } } } /** *NCCカードチェックデジット * *@param nccCardNo1 *@param nccCardNo2 *@param nccCardNo3 * */ function checkDigit( nccCardNo1, nccCardNo2, nccCardNo3 ) { var sCardNo = nccCardNo1 + nccCardNo2 + nccCardNo3; var num1 = 0; var num2 = 0; var num3 = 0; var num4 = 0; var num5 = 0; var num6 = 0; var num7 = 0; var num8 = 0; if( nccCardNo1.value == "" || nccCardNo2.value == "" || nccCardNo3.value ) { return; } if(sCardNo.length != 8 ) { setMessage("MSG_G0033", "NCCカード番号に8"); return; } //6桁目までウェイトにしたがって積数を掛ける for( i = 0; sCardNo.length > i; i++ ) { num = parseInt(sCardNo.charAt(i)); switch (i) { case 0: num1 = num * 7; break; case 1: num2 = num * 6; break; case 2: num3 = num * 5; break; case 3: num4 = num * 4; break; case 4: num5 = num * 3; break; case 5: num6 = num * 2; break; case 6: num7 = num; break; case 7: num8 = num; break; default: break; } } //6桁目まで加算 var numz = num1 + num2 + num3 + num4 + num5 + num6; //numzをモジュラス11で割ったあまりを求める var numy = numz % 11; //numyを11から引いた値と8桁目をチェック var numck = 11 - numy; if( numck != num8 ) { setMessage("MSG_G0024", "NCCカード番号"); } } /** *有効期限チェック * *@param cardSelect * */ function checkExpDate(cardSelect) { var checkMonth; var checkYear; var strNcc = ""; if(cardSelect == 1) { checkMonth = document.getElementsByName("month").item(0); checkYear = document.getElementsByName("year").item(0); } else { checkMonth = document.getElementsByName("nccMonth").item(0); checkYear = document.getElementsByName("nccYear").item(0); strNcc = "NCC"; } var dd= new Date(); sysMonth = dd.getMonth() + 1; sysYear = dd.getYear(); if(navigator.appName == "Netscape") { sysYear = dd.getYear() + 1900; } switch(sysMonth) { case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: sysMonth = "0" + sysMonth; break; default: break; } var nowDate = sysYear.toString() + sysMonth.toString(); var dispDate = checkYear.value + checkMonth.value; if(parseInt(nowDate) > parseInt(dispDate)) { setMessage("MSG_G0009", strNcc + "カード番号有効期限"); } } /** *次のテキストボックスにフォーカスを当てる * *@param obj *@param next * */ function nextFocus( obj, next ) { var name = obj.name; var cardNo = obj.value; len = cardNo.length; var maxLen = obj.maxLength; if( len == maxLen ) { var ev; var b_name = navigator.appName; if(b_name == "Netscape") { ev = arguments.callee.caller.arguments[0]; } else { ev = window.event; } //ShiftキーとTabキーの場合は未処理 if( ev.keyCode == 9 || ev.keyCode == 16 ) { return; } document.getElementsByName(name).item(0).blur(); //半角数字→全角数字変換 zhDigit( obj ); document.getElementsByName(next.name).item(0).focus(); } } /** *半角数字→全角数字変換 * *@param obj * */ function zhDigit( obj ) { var str = new String(); var src = obj.value; var txtname = obj.name var len = src.length; for( i = 0; len > i; i++ ) { var c = src.charCodeAt(i); if( c >= 65296 ) { if( 65305 >= c ) { str += String.fromCharCode( c - 65248 ); } } else { str += src.charAt(i); } } document.getElementsByName(txtname).item(0).value = str; } /** *生年月日の"0"補完 * *@param obj * */ function checkBirthDate(obj) { var str = obj.value; var len = str.length; if(str == "" || len > 1 ) { return false; } objValue = parseInt(str); switch(objValue) { case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: objValue = "0" + objValue; break; default: break; } obj.value = objValue; return false; } //東急用カスタマイズ /** * value で指定された文字列が有効な電話番号であるかを調べます
* 電話番号は、英数字ハイフンで構成されたものに限ります
* @value 対象となる文字列 * @return -1:非電話番号 1:自宅電話 2:携帯電話 * @author BBX 2008/05/05 */ function checkTel(value) { if (value == "" || value == null) { return -1; } var kigouArray = new Array(); kigouArray = value.split("-"); if (kigouArray.length != 3) { return -1; } for (var cnt = 0; cnt < kigouArray.length; cnt++) { if (!isNumber(kigouArray[cnt])) { return -1; } } var str0 = kigouArray[0]; var str1 = kigouArray[1]; var str2 = kigouArray[2]; // 三つブロックの結合 var telStr = str0 + str1 + str2; if(telStr.length >2 && (telStr.substring(0, 3) == "090" || telStr.substring(0, 3) == "080" || telStr.substring(0, 3) == "070" || telStr.substring(0, 3) == "050")) { // 11桁以外は不正電話番号 if (telStr.length != 11){ return -1; }else if (str1.length == 4 && str1 == "0000") { //第二エリアのオールゼロチェックする return -1; }else { return 2; } } if ((str0.length + str1.length + str2.length) == 10) { if (str0.charAt(0) != "0") { return -1; } if (str0.length < 2 || str0.length > 5) { return -1; } if (str1.length < 1 || str1.length > 4) { return -1; } if (str0.length + str1.length != 6) { return -1; } if (str2.length != 4) { return -1; } if (str1 == "0000") { return -1; } if (str2 == "0000") { return -1; } // if (str0.length == 5) { // if (str0 == "00000") { // return -1; // } // } //市外局番号全0check var flagshiwi = -1; for(var ii=1;ii=65281 && code<= 65373){ result += String.fromCharCode(str.charCodeAt(i)-65248); }else if(code ==12288){ result += String.fromCharCode(str.charCodeAt(i)-12288+32); }else{ result += str.charAt(i); } } return result; } /** * 半角⇒全角,カタカナ⇒ひらがなで変更する * @param textId * @author ITFOR */ function toToukyuuFuchhika(str){ var zenkaku = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-1234567890ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン"; var hankaku = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-1234567890ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン"; var zi = "ガギグゲゴザジズゼゾダヂヅデドバビブベボ"; var cu = "パピプペポ"; var tu = "カキクケコサシスセソタチツテトハヒフヘホ"; var po = "゙゚"; var position; var result = ''; var i; var ch; for(i=str.length-1;0<=i;i--) { ch = str.substr(i, 1); position = po.indexOf(ch); // ゙ if (position == 0) { ch = str.substr(i-1, 1); position = tu.indexOf(ch); if (position != -1) { i = i-1; result = zi.substr(position, 1) + result; }else{ result = "゙" + result; } } // ゚ else if(position == 1) { ch = str.substr(i-1, 1); position = tu.indexOf(ch); if (position != -1) { //i = i+1; i = i - 1; result = cu.substr(position, 1) + result; }else{ result = "゚" + result; } } else { position = hankaku.indexOf(ch); if (position != -1) { result = zenkaku.substr(position, 1) + result; }else{ result = ch + result; } } } var str1 = result; var i, c, a = []; for(i=str1.length-1;0<=i;i--) { c = str1.charCodeAt(i); a[i] = (0x30A1 <= c && c <= 0x30F6) ? c - 0x0060 : c; }; return String.fromCharCode.apply(null,a); } /** * 半角⇒全角,ひらがな⇒カタカナで変更する * @param textId * @author ITFOR */ function toTouKyuuKanahika(str){ var zenkaku = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-1234567890ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン"; var hankaku = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-1234567890ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン"; var zi = "ガギグゲゴザジズゼゾダヂヅデドバビブベボ"; var cu = "パピプペポ"; var tu = "カキクケコサシスセソタチツテトハヒフヘホ"; var po = "゙゚"; var position; var result = ''; var i; var ch; for(i=str.length-1;0<=i;i--) { ch = str.substr(i, 1); position = po.indexOf(ch); // ゙ if (position == 0) { ch = str.substr(i-1, 1); position = tu.indexOf(ch); if (position != -1) { i = i-1; result = zi.substr(position, 1) + result; }else{ result = "゙" + result; } } // ゚ else if(position == 1) { ch = str.substr(i-1, 1); position = tu.indexOf(ch); if (position != -1) { //i = i+1; i = i - 1; result = cu.substr(position, 1) + result; }else{ result = "゚" + result; } } else { position = hankaku.indexOf(ch); if (position != -1) { result = zenkaku.substr(position, 1) + result; }else{ result = ch + result; } } } var str1 = result; var c,a = []; var i; for(i=str1.length-1;0<=i;i--){ c= str1.charCodeAt(i); a[i] = (0x3041<= c && c<= 0x3096) ? c + 0x0060 :c; }; return String.fromCharCode.apply(null,a); } /** * ラジオボタンの値を取得します。 * チェックされている項目がない場合はNullを返す。 * @param field 対象ラジオボタン * @author BBX */ function getRadioValue( field ) { var val = null; if ( field.length ) { for (var i = 0; i < field.length; i++) { if ( field[i].checked ) { return field[i].value; } } return null; } else { return ( field.checked ) ? field.value : null ; } } /** * フォカスがトーストする時、全角数字を半角数字に変換する * @param オブジェクト */ function changeCnvtNumber(obj) { obj.value = cnvtNumber(obj.value); } /** * フォカスがトーストする時、全角数字を半角数字に変換する * @param オブジェクト */ function changeCnvtHalfchar(obj) { obj.value = toTouKyuuHalfchar(obj.value); } /** * フォカスがトーストする時、全角数字を半角数字に変換する * @param オブジェクト */ function changeCnvtFuchika(obj) { obj.value = toToukyuuFuchhika(obj.value); } /** * フォカスがトーストする時、全角数字を半角数字に変換する * @param オブジェクト */ function changeCnvtKanahika(obj) { obj.value = toTouKyuuKanahika(obj.value); } /** *protocolをhttpsからhttpへ変換し指定画面へ遷移する * */ function backToTopForHttp(contextroot,obj){ var url = contextroot; var strUrl = "http://" + location.hostname + url + "/" + obj; location = encodeURI(strUrl); } /** *protocolをhttpsからhttpへ変換する * */ function createHttp(contextroot,obj){ var url = contextroot; var strUrl = "http://" + location.hostname + url + "/" + obj; return strUrl; } /** *protocolをhttpからhttpsへ変換する * */ function createHttps(){ // var strUrl = "https://" + location.hostname + ":" + location.port; var strUrl = "https://" + location.hostname; return strUrl; } /** * FireFox対応 * Formの属性にidが存在せずnameだけの場合、nameをid属性にセットする */ function doNameToId() { for (var i = 0; i < document.forms.length; i++) { for (var j = 0; j < document.forms[i].length; j++) { var ele = document.forms[i].elements[j]; var len = document.forms[i].elements[ele.name].length; if (!ele.id && ele.name // id属性はないが、name属性ならある && !document.getElementById(ele.name) // 他の要素に使われていない && !(ele.tagName.toLowerCase() == "input" && len)) { // 複数個所で同名にしているnameの場合は対応できないため無視 ele.id = ele.name; } } } } /* * 入力項目に数字以外入力できないよう制御する * */ function checkNum(obj) { if (window.event) { var c = window.event.keyCode; if (!(48 <= c && c <= 57 // 0~9 || 96 <= c && c <= 105 // テンキーの0~9 || c == 8 // BackSpace || c == 9 // Tab || c == 35 // End || c == 36 // Home || c == 37 // ← || c == 38 // ↑ || c == 39 // → || c == 40 // ↓ || c == 45 // Insert || c == 46)) { // Delete window.event.returnValue = false; return; } var v = obj.value; v = v.replace(/[^0-9]/g,''); obj.value = v; } } /* * 入力項目の内容を数字のみに強制的に変換 * */ function toNumOnly(obj) { var v = obj.value; v = v.replace(/[^0-9]/g,''); obj.value = v; } /* * 入力項目が[文字列]+[全角スペース]+[文字列]形式かをチェックする * @return 正しい形式ならtrueを返す */ function checkName(str){ if(str){ if(str.match(/[^ ] ./)){ var arr = str.split(' '); if(arr.length == 2){ return true; } } } return false; }