/* ########################################################### 共用 JavaScript Create 2008.03.25 Kawasaki Modyfy ----.--.-- -------- ########################################################### */ // フレームの分割サイズの設定 function FrameInit(strSize1, strSize2) { parent.document.all.tags("frameset")[0].rows=strSize1 + "," + strSize2 } // 日付チェック関数(YYYY/MM/DD形式) function chkDate( datestr) { // 正規表現による書式チェック if ( !datestr.match( /^\d{4}\/\d{2}\/\d{2}$/)){ return false; } var vYear = datestr.substr(0, 4) - 0; var vMonth = datestr.substr(5, 2) - 1; // Javascriptは、0-11で表現 var vDay = datestr.substr(8, 2) - 0; // 月,日の妥当性チェック if ( vMonth >= 0 && vMonth <= 11 && vDay >= 1 && vDay <= 31){ var vDt = new Date(vYear, vMonth, vDay); if ( isNaN( vDt)){ return false; }else if ( vDt.getFullYear() == vYear && vDt.getMonth() == vMonth && vDt.getDate() == vDay){ return true; }else{ return false; } }else{ return false; } } // 文字検索 strstr // @param s 検索対象文字列 // @param find 検索文字列 // @return bool function strstr( s, find) { var str = new String( s); var r = str.indexOf( find); return( -1 !== r); } // メールアドレスチェック // @param v 対象メールアドレス(「;」区切りで複数入力された場合は「;」毎を1アドレスとして全てチェックを行う) // @return bool function ChkMailAddr( v){ var i; var arr = new Array(); if ( strstr( v, ";")) { arr = v.split( /;/); } else { arr[0] = v; } for( i=0; i= 4 ) { cnt+=2; } else { cnt++; } } //文字数オーバー if ( cnt > iLen) { return false; } else { return true; } } // 半角チェック関数 // @param s 対象文字列 // @return bool function ChkStrHarfWidth( s) { var i, cnt = 0; for( i=0; i= 4 ) { return false; } } return true; } // Style.Display操作関数 // @note 引数に指定されたIDのエレメントの表示/非表示を切り替える // @param arrElemId ID配列 function DispSw( arrElemId) { var obj; for( i=0; i クッキー保存名 // 引数:v --> 保存する値 // 引数:exp --> 保存期限(日)。省略時はブラウザ終了まで function SetCookie(name, v, exp) { if(exp){ var d = new Date(); d.setTime(d.getTime()+(exp * 1000 * 60 * 60 * 24)); var expGMT = d.toGMTString(); document.cookie = name + "=" + escape(v) + ";expires=" + expGMT; }else{ document.cookie = name + "=" + escape(v); } } //クッキーの値を消去。有効期限を過去に指定 // 引数:name --> クッキー保存名 function KillCookie(name) { document.cookie = name + "=;expires=Thu,01-Jan-70 00:00:01 GMT"; } // 選択されているラジオボタンの値を取得 // 引数:obj --> ラジオボタンオブジェクト function GetRadioValue(obj) { var i; for(i=0; i= 0) { return true; } } return false; } /* * addMonth * 月数を加減した日付を取得する * たとえば、10ケ月後は addMonth(10) と書くと * 2008/08 や 2008年8月8日 など指定したフォーマットの文字列を取得できます * no-license/public domain @written by Toshiro Takahashi * http://jsgt.org/mt/archives/01/001725.html Example alert(addMonth(1)); // 2007/11 alert(addMonth(2,{ymd:"yyyy/mm/dd"})); // 2007/12/08 alert(addMonth(-3,{ymd:"yyyy年mm月dd日"})); // 2007年07月08日 alert(addMonth(0,{ymd:"yyyy年m月d日"})); // 2007年10月8日 */ function addMonth(add,addMonth_cfg){ var df={ymd:"yyyy/mm/dd"}, a=(addMonth_cfg||df), ymd=(a.ymd||df.ymd); var targetDay=_chgYear(add); function _chgYear(add){ var now=_addMonthOj(new Date()), add=(add)?add:0, am=add+now.m, y,m,d if(am<0){ var offset=Math.floor(am/12); y=now.y+offset; m=(Math.abs(offset)*12+am)%12; d=now.d; } else if(am>11){ y=now.y+Math.floor(am/12); m=am%12; d=now.d; } else{ y=now.y; m=am; d=now.d; } return new Date( y+"/"+m+"/"+d); } function _addMonthOj(dateOj){ return { y : dateOj.getFullYear(), m : dateOj.getMonth()+1, d : dateOj.getDate() } } function _z(num){ return ((num<10)?'0'+num:num); } function _getYMDstr(dateOj,ymd){ var o=_addMonthOj(dateOj); switch(ymd){ case "yyyy/mm/dd":return o.y+"/"+_z(o.m)+"/"+_z(o.d);break; case "yyyy/m/d":return o.y+"/"+o.m+"/"+o.d;break; case "yyyy/mm":return o.y+"/"+_z(o.m);break; case "yyyy/m":return o.y+"/"+o.m;break; case "mm/dd":return _z(o.m)+"/"+_z(o.d);break; case "m/d":return o.m+"/"+o.d;break; case "yyyy":return o.y;break; case "yyyy年mm月dd日":return o.y+"年"+_z(o.m)+"月"+_z(o.d)+"日";break; case "yyyy年m月d日":return o.y+"年"+o.m+"月"+o.d+"日";break; case "yyyy年mm月":return o.y+"年"+_z(o.m)+"月";break; case "yyyy年m月":return o.y+"年"+o.m+"月";break; case "yyyy年":return o.y+"年";break; case "mm月dd日":return _z(o.m)+"月"+_z(o.d)+"日";break; case "m月d日":return o.m+"月"+o.d+"日";break; default :return o.y+"/"+_z(o.m)+"/"+_z(o.d);break; } } return _getYMDstr(targetDay,ymd); } //日付入力の簡素化 function setDate4Navi(obj){ var today = new Date(); var yyyy = today.getFullYear(); var mm = today.getMonth() + 1; var dd; if (obj.value == ""){ return false; } // ""の場合は処理しない if (obj.value.indexOf("/") == -1) { // "/"がない場合は「dd」を作成する // スラッシュ補完(8桁の数値ならばスラッシュを付加するだけ) if ( obj.value.length == 8) { obj.value = obj.value.substring(0,4) + "/" + obj.value.substring(4,6) + "/" + obj.value.substring(6,8); } else { if ( obj.value.length == 6) { obj.value = "20" + obj.value.substring(0,2) + "/" + obj.value.substring(2,4) + "/" + obj.value.substring(4,6); dd = obj.value.substring(8,10); } else { if ( obj.value.length == 4) { obj.value = yyyy + "/" + obj.value.substring(0,2) + "/" + obj.value.substring(2,4); } else { dd = obj.value; } } } } else { // "/"がある場合 var s1 = obj.value.indexOf("/"); objlen = obj.value.length; if (obj.value.indexOf("/",s1+1) == -1){ // "/"が1つの場合は「mm/dd」を作成する mm = obj.value.substring(0,s1); dd = obj.value.substring(s1 + 1,objlen + 1); } else{ // "/"が2つの場合は「yyyy/mm/dd」を作成する s2 = obj.value.indexOf("/",s1+1); yyyy = obj.value.substring(0,s1); mm = obj.value.substring(s1+1,s2); dd = obj.value.substring(s2+1,objlen+1); } } yyyy = yyyy.toString(); mm = mm.toString(); dd = dd.toString(); if (mm.length == 1){ mm = "0" + mm; } if (dd.length == 1){ dd = "0" + dd; } chengedobj = yyyy + "/" + mm + "/" + dd; if ( chkDate(chengedobj) == false){ alert("入力した値は日付として認識できません。"); obj.select(); return false; } obj.value = chengedobj; } //3桁カンマ区切り function FormatCurrency( v, focus_flg) { if( v.value != "") { var num = new String( v.value).replace(/,/g, ""); if( ! focus_flg) { while( num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2"))); } v.value = num; } } //全角英数を半角に function ZenToHan( motoText) { var han = "abcdefghijklmnopqrstuvwxyz"; han += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; han += "0123456789.,-+,"; var zen = "abcdefghijklmnopqrstuvwxyz"; zen += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; zen += "0123456789.,-+、"; var str = ""; for (i=0; i= 0) c = han.charAt(n); str += c; } return str; }