var jsonContent ; var jspData ; var gFrmObj; var errmsg = '' ; function prevQuery() { try { history.go(-1) ; } catch(e) { alert("prevQuery : " + e); } } function inputErr(msg){ errmsg = errmsg +"\n" + msg ; } function Get_the_current_page_name() { var sPath = window.location.pathname; var sPage = sPath.substring(sPath.lastIndexOf('/') + 1); return sPage; } function Get_the_del_page_name() { var sPath = window.location.pathname; var sPage = sPath.substring(sPath.lastIndexOf('/') + 1); return sPage; } function Get_the_edit_page_name() { var sPath = window.location.pathname; var sPage = sPath.substring(sPath.lastIndexOf('/') + 1); return sPage; } function doResetform(form_name) { var formObj = document.forms[form_name]; var formEl = formObj.elements; for (var i=0; i "Z") { return false; } else { return true; } } function ch12fastid(id) { var c = id.charAt(1); if(c!="1" && c!="2") { return false; } else { return true; } } function idmanber(id) { // =====後九碼為數字// var bmp; var d="0123456789"; var bab=id.length-1; for (var i=1;i<=bab;i++){ bmp=id.substr(i,1) if (d.indexOf(bmp) == -1) { return false; } } if(id != "0") { return true; } else { return false; } } function idchackok(id) { // 規則// var alph = new Array("A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","X","Y","W","Z","I","O"); var num = new Array("10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35"); var n=0; for(i=0;i 0 ) { return jsonContent.length ; } } catch(e) { return -1 ; } } function EmailChk(){ if(event.srcElement.value == "") return; else if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(event.srcElement.value))){ alert("信箱格式錯誤請確實填寫!!"); event.srcElement.focus(); return false; } } function chkv() { var fobj =document.forms[arguments[0]]; return fobj.elements[arguments[1]].value; } function getData(cmd){ var url = '/ajax/ajaxSelect.jsp?tname='+cmd; document.forms['ricky'].abc.value=url var pars = 'action=getUser'; var myAjax = new Ajax.Request(url,{method: 'get', parameters: pars, onComplete: rs } ); } function getJspData(cmd){ var url = "/avm/"+cmd; var pars = 'action=getUser'; var myAjax = new Ajax.Request(url,{method: 'get', parameters: pars, onComplete: rs1 } ); } function rs(originalRequest){ try { var oProgressInfo = originalRequest.responseText; jsonContent = eval("(" + oProgressInfo + ")"); alert(jsonContent); } catch(e) { jsonContent = 0; } } function rs1(originalRequest){ var oProgressInfo = originalRequest.responseText; jspData = eval("(" + oProgressInfo + ")"); } function chkeditbox() { var count = 0; var fobj =document.forms[arguments[0]]; var obj=fobj.elements; var len = obj.length; for (i = 0; i < len; i++) { if( obj[i].type == 'checkbox') { if (obj[i].checked) count ++; } } if (count == 0) { alert("必須選擇檔案再進行處理!!"); return false; } return true; } function setBackgroundColor() { var fobj =document.forms["form1"]; var id = arguments[0]; fobj.elements[id].style.backgroundColor = '#eeeeee'; // if(backColor.toLowerCase()=='#eeeeee') } function changeBackgroundColor() { var fobj =document.forms["form1"]; var backColor = new String(); for (var i = 0; i < arguments.length; i+=1) { var id = arguments[i]; if( fobj.elements[id].type=='text') fobj.elements[id].readOnly=1 ; backColor = fobj.elements[id].style.backgroundColor; if(backColor.toLowerCase()=='#eeeeee') fobj.elements[id].style.backgroundColor = '#c0c0c0'; else fobj.elements[id].style.backgroundColor = '#eeeeee'; } } function readonly() { var fobj =document.forms["form1"]; for (var i = 0; i < fobj.elements.length; i+=1) { if( fobj.elements[i].type=='text' || fobj.elements[i].type=='textarea' || fobj.elements[i].type=='select-one'){ fobj.elements[i].readOnly=1 ; fobj.elements[i].style.backgroundColor = '#eeeeee'; } } } function disableAll() { var fobj =document.forms["form1"]; for (var i = 0; i < fobj.elements.length; i+=1) { if(fobj.elements[i].type=='text' || fobj.elements[i].type=='textarea' || fobj.elements[i].type=='select-one'){ fobj.elements[i].readOnly=1 ; fobj.elements[i].style.backgroundColor = '#eeeeee'; } if (isButoon(fobj.elements[i]) || fobj.elements[i].type == 'checkbox' || fobj.elements[i].type == 'radio' || fobj.elements[i].type=='select-one' || fobj.elements[i].type=='select-multiple') { fobj.elements[i].disabled=true ; } } } function changebox() { var fobj =document.forms[arguments[1]]; var obj=fobj.elements; var len = obj.length; for (i = 0; i < len; i++) { if( obj[i].type == 'checkbox'){ if (arguments[0]==1)obj[i].checked = true; else obj[i].checked = false; } } } function allselect() { var fobj =document.forms["form1"]; var obj=fobj.elements; var len = obj.length; for (i = 0; i < len; i++) { if( obj[i].type == 'checkbox'){ if (arguments[0]==1)obj[i].checked = true; else obj[i].checked = false; } } } function dochkbox() { var fobj =document.forms[arguments[0]]; var obj=fobj.elements[arguments[1]]; var len = obj.length; var checked = false; for (i = 0; i < len; i++) { if (obj[i].checked == true) { checked = true; break; } } return checked ; } function confirmwin(data) { try { return confirm(data); } catch(e) { } } function sethidden(){ var fobj =document.forms[arguments[0]]; fobj.elements[arguments[1]].value =arguments[0]; } function setargument(){ var fobj =document.forms[arguments[0]]; fobj.elements[arguments[1]].value =arguments[2]; } function doAction(){ var fobj =document.forms[arguments[0]]; fobj.action= arguments[1]; fobj.method= arguments[2]; if (arguments[3] != '') { fobj.target= arguments[3]; } fobj.submit(); } function setsize(ary) { var obj = document.forms[ary[0][0]]; for (i = 0; i < ary.length; i++) { var tmp =ary[i]; obj.elements[tmp[1]].size=tmp[3]; } } function radonly(ary) { var obj = document.forms[ary[0][0]]; for (i = 0; i < ary.length; i++) { var tmp =ary[i]; obj.elements[tmp[1]].readOnly=true; obj.elements[tmp[1]].style.backgroundColor = "#E0F8F8"; } } function getvalue(htmlid) { try { var fobj = document.forms[0]; var oname = arguments[0]; return fobj.elements[htmlid].value ; } catch(e) { alert("getvalue() err" + e.description); } } function setvalue() { try { var fobj = document.forms[0]; var oname = arguments[0]; fobj.elements[arguments[0]].value = arguments[1]; } catch(e) { alert("setvalue() err" + e.description); } } function lCase() { try { if (event.keyCode != 8 && event.keyCode != 46 && event.keyCode != 35 && event.keyCode != 36 && event.keyCode != 37 && event.keyCode != 39) event.srcElement.value = event.srcElement.value.toLowerCase(); } catch(e) { alert( e.description); } } function chknumber() { try { if (event.srcElement.value.length >= event.srcElement.maxLength) { event.srcElement.value = event.srcElement.value.substr(0, event.srcElement.maxLength); event.returnValue = false; } } catch(e) { alert( e.description); } } function uCase() { try { if (event.keyCode==13) return; if (event.keyCode != 8 && event.keyCode != 46 && event.keyCode != 35 && event.keyCode != 36 && event.keyCode != 37 && event.keyCode != 39) event.srcElement.value = event.srcElement.value.toUpperCase(); } catch(e) { alert( e.description); } } function ocn1() { try { if (event.keyCode != 9 && event.keyCode != 8 && event.keyCode != 46 && event.keyCode != 35 && event.keyCode != 36 && event.keyCode != 37 && event.keyCode != 39 && event.keyCode != 13) { if (event.shiftKey) { if (event.keyCode != 189 && event.keyCode != 56 && event.keyCode != 187) event.returnValue = false; } if ((event.keyCode == 106 || event.keyCode == 107 || event.keyCode == 109 || event.keyCode == 189 || event.keyCode == 187) || (event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 65 && event.keyCode <= 90)|| (event.keyCode >= 96 && event.keyCode <= 105)) return; event.returnValue = false; } } catch(e) { alert( e.description); } } function ocn() { try { if (event.keyCode != 9 && event.keyCode != 8 && event.keyCode != 46 && event.keyCode != 35 && event.keyCode != 36 && event.keyCode != 37 && event.keyCode != 39 && event.keyCode != 13) { if (event.shiftKey) { if ( (event.keyCode >= 48) && (event.keyCode <= 57) ) event.returnValue = false; } if ( (event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 65 && event.keyCode <= 90)|| (event.keyCode >= 96 && event.keyCode <= 105)) return; event.returnValue = false; } } catch(e) { alert( e.description); } } function numonlyU() { try { if (isNaN(event.srcElement.value) && event.srcElement.value != '-'){ event.srcElement.value = event.srcElement.value.substr(0, event.srcElement.value.length - 1); } } catch(e) { alert( e.description); } } function numonly() { try { if ((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 45 && event.keyCode != 46 && event.keyCode != 13) event.returnValue = false; } catch(e) { alert( e.description); } } function numonlys() { try { if ((event.keyCode < 48 || event.keyCode > 57)) event.returnValue = false; } catch(e) { alert( e.description); } } //小數點 function numonlyl() { try { if ((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 46) event.returnValue = false; } catch(e) { alert( e.description); } } function chkDate1() { try { if (event.srcElement.value == '') return; if (!checkCHDate(fillStr(event.srcElement.value, 7, '0'))) { ShowMsg('105'); event.srcElement.focus(); } else event.srcElement.value = fillStr(event.srcElement.value, 7, '0'); } catch(e) { alert( e.description); } } function checkCHDate(CHdateStr) { try { var dateStr=""; if(CHdateStr.length != 8) { // 轉換民國->西元 var year=CHdateStr.substring(0,3)*1; var month= CHdateStr.substring(3,5); var day= CHdateStr.substring(5,7); if(CHdateStr.length != 7) return false; year+=1911; dateStr=""+year+month+day; } else { if((CHdateStr.substring(0,4)*1)<1000) { // 轉換民國->西元 var year=CHdateStr.substring(0,4)*1; var month= CHdateStr.substring(4,6); var day= CHdateStr.substring(6,8); year+=1911; dateStr=""+year+month+day; } else dateStr=CHdateStr; } return checkDate(dateStr); } catch(e) { alert( e.description); } } function checkDate(dateStr) { try { var year = dateStr.substring(0,4) * 1; var month = dateStr.substring(4,6) * 1; var day = dateStr.substring(6,8) * 1; if (dateStr.length != 8) return false; if (month < 1 || month > 12) return false; if (day < 1 || day > 31) return false; if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 31) return false if (month == 2) { var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); if (day>29 || (day==29 && !isleap)) return false; } return true; } catch(e) { alert(e.description); } } function atab() { try { if (isButoon(event.srcElement)) return; if (event.keyCode == 16) return; if (event.keyCode == 13) return; if (event.keyCode == 16 || event.keyCode == 9) { event.srcElement.select(); return; } if (event.keyCode == 37 || event.keyCode == 39) return; if (event.srcElement.value.length == event.srcElement.maxLength) { if (event.keyCode == 229) return; for (var i = 0; i < gFrmObj.length; i++) { if (gFrmObj.elements[i] == event.srcElement) { while (!canFocus(gFrmObj.elements[i + 1])) { i++; if (i >= (gFrmObj.length - 1)) i = -1; } try { gFrmObj.elements[i + 1].select(); } catch(e) {} return; } } } } catch(e) { alert(e.description); } } function checkDecimal() { try { var len1 = event.srcElement.decmalLength.split(".")[0]; var len2 = event.srcElement.decmalLength.split(".")[1]; var cLen1 = event.srcElement.value.split(".")[0].length; var cLen2 = (event.srcElement.value.indexOf(".") == -1)?0:event.srcElement.value.split(".")[1].length; if (event.srcElement.value.indexOf(".") != -1) { if (cLen1 > (len1 - len2)) event.srcElement.value = event.srcElement.value.split(".")[0].substring(0, (len1 - len2)) + "." + event.srcElement.value.split(".")[1]; if (cLen2 > len2) event.srcElement.value = event.srcElement.value.split(".")[0] + "." + event.srcElement.value.split(".")[1].substring(0, len2); } else { if (cLen1 > (len1 - len2)) event.srcElement.value = event.srcElement.value.split(".")[0].substring(0, (len1 - len2)); } } catch(e) { alert(e.description); } } function isButoon(obj) { try { if (obj.type == 'button' || obj.type == 'submit' || obj.type == 'reset') return true; else return false; } catch(e) { alert(e.description); } } function canFocus(Obj) { try { if (Obj.readOnly) { return false; } else { Obj.focus(); return true; } } catch(e) { return false; } } var s_ = " 1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~!@#$%^&*()_+|\=-.,/?';\":<>[]}{"; var t_ = " 1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ‵~!@#$%︿&*()_+|=-。,/?’;”:<>〔〕}{"; function toFullStr() { try { var result = "" for (var i = 0; i < event.srcElement.value.length; i++) { var currChar= event.srcElement.value.substr(i, 1); var index_ = s_.indexOf(currChar); if (index_ != -1) result += t_.substr(index_, 1); else result += currChar; } event.srcElement.value = result; } catch(e) { alert(e.description); } } function fillZero() { try { if (event.srcElement.value == "") return; event.srcElement.value = fillStr(event.srcElement.value, event.srcElement.fillZero, '0'); } catch(e) { alert(e.description); } } function fillStr(source, len, fillStr) { try { if (source.length >= len) return source; var tmpStr = source; while(tmpStr.length != len) { tmpStr = '' + fillStr + tmpStr; } return tmpStr; } catch(e) { alert(e.description); } } function ad_date(n) { var date= ""; var now = new Date(); now.setDate(now.getDate() + n); var y = now.getYear(); var m = now.getMonth()+1; var d = now.getDate(); date = y+"/"+m+"/"+d; try { var odate=new Date(date); var year=""; if (parseFloat(date.substring(0,4))>=2000) { year=parseFloat(odate.getYear())-1911; year=((year+"").length==2)?"0"+year:year+""; } else { return year; if (parseFloat(date.substring(0,4))>=1900) { if (parseFloat(date.substring(0,4))>1911) year=parseFloat(odate.getYear())-11; else year=parseFloat(odate.getYear())-12; } else year=parseFloat(odate.getYear())-1911; if (year>0) year=((year+"").length==1)?"00"+year:((year+"").length==2)?"0"+year:year+""; else year=((-year+"").length==1)?"-0"+(-year):"-"+(-year); } // var // year=(odate.getYear())>100?odate.getYear()-1911:odate.getYear()-11; var month=odate.getMonth()+1; var day=odate.getDate(); // year=((year+"").length==2)?"0"+year:year+""; month=((month+"").length==1)?"0"+month:month+""; day=((day+"").length==1)?"0"+day:day+""; return year+month+day; } catch(e) { alert("lrx.js--100001"); } } function getSysCDate() { var date= ""; var now = new Date(); var y = now.getYear(); var m = now.getMonth()+1; var d = now.getDate(); date = y+"/"+m+"/"+d; try { var odate=new Date(date); var year=""; if (parseFloat(date.substring(0,4))>=2000) { year=parseFloat(odate.getYear())-1911; year=((year+"").length==2)?"0"+year:year+""; } else { return year; if (parseFloat(date.substring(0,4))>=1900) { if (parseFloat(date.substring(0,4))>1911) year=parseFloat(odate.getYear())-11; else year=parseFloat(odate.getYear())-12; } else year=parseFloat(odate.getYear())-1911; if (year>0) year=((year+"").length==1)?"00"+year:((year+"").length==2)?"0"+year:year+""; else year=((-year+"").length==1)?"-0"+(-year):"-"+(-year); } // var // year=(odate.getYear())>100?odate.getYear()-1911:odate.getYear()-11; var month=odate.getMonth()+1; var day=odate.getDate(); // year=((year+"").length==2)?"0"+year:year+""; month=((month+"").length==1)?"0"+month:month+""; day=((day+"").length==1)?"0"+day:day+""; return year+month+day; } catch(e) { alert("lrx.js--100001"); } } function ShowMsg(msgId) { try { var strMsg = msgId; switch (msgId) { case "001" : strMsg = "帳號密碼錯誤或無使用權限,請重新登入!"; break; case "002" : strMsg = "您尚未登入本系統,請重新登入!" break; case "003" : strMsg = "您無權限使用本系統之功能,請通知管理人員!"; break; case "101" : strMsg = "該欄位不可為空白!"; break; case "102" : strMsg = "該欄位必須為英文字!"; break; case "103" : strMsg = "該欄位必須為數字!"; break; case "104" : strMsg = "該欄位必須為整數!"; break; case "105" : strMsg = "日期格式輸入錯誤!"; break; case "106" : strMsg = "時間格式輸入錯誤!"; break; case "107" : strMsg = "電子郵件格式輸入錯誤!"; break; case "108" : strMsg = "身份証字號輸入錯誤!"; break; case "109" : strMsg = "輸入長度不可超過"; break; case "110" : strMsg = "請使用輔助視窗輸入!"; break; case "111" : strMsg = "輸入長度必須等於"; break; case "112" : strMsg = "日期起迄區間輸入錯誤!"; break; case "113" : strMsg = "該欄位必須為英數字!"; break; case "114" : strMsg = "起迄區間資料輸入錯誤!"; break; case "115" : strMsg = "所輸入的內容過長!"; break; case "116" : strMsg = "該欄位必須為民國年月!"; break; case "117" : strMsg = "該欄位必須為民國年!"; break; case "118" : strMsg = "是否確定刪除資料??"; break; case "119" : strMsg = "請先查詢資料出來再進行刪除動作!"; break; case "120" : strMsg = "該欄位必須落於區間內!"; break; case "121" : strMsg = "請先選取要處理的資料再作處理!"; break; case "122" : strMsg = "請先查詢資料出來再進行列印動作!"; break; case "401" : strMsg = "無法連接資料庫!"; break; case "402" : strMsg = "新增資料重複!"; break; case "499" : strMsg = "資料庫發生未知錯誤!"; break; case "501" : strMsg = "檔案讀取失敗!"; break; case "502" : strMsg = "檔案輸出失敗!"; break; case "503" : strMsg = "檔案未知編碼錯誤!"; break; case "504" : strMsg = "請選擇欲上傳之檔案!"; break; case "505" : strMsg = "檔案讀取有誤,請確認該檔案是否存在!"; break; case "506" : strMsg = "檔案上傳失敗!"; break; case "507" : strMsg = "檔案已存在!"; break; case "599" : strMsg = "檔案存取發生未知錯誤!"; break; case "901" : strMsg = "上傳作業發生錯誤!"; break; case "902" : strMsg = "信件傳送失敗!"; break; case "903" : strMsg = "無法設定成Binary的上傳格式!"; break; case "904" : strMsg = "無法設定成Ascii的上傳格式!"; break; case "905" : strMsg = "無法連結遠端FTP Server,或不正確的ID/PASSWORD!"; break; case "906" : strMsg = "找不到欲上傳的檔案!"; break; case "907" : strMsg = "上傳過程中發生IO讀寫錯誤!"; break; case "908" : strMsg = "無法結束FTP連結!"; break; case "913" : strMsg = "無法設定成Binary的下載格式!"; break; case "914" : strMsg = "無法設定成Ascii的下載格式!"; break; case "916" : strMsg = "找不到欲下載的檔案!"; break; case "917" : strMsg = "下載過程中發生IO讀寫錯誤!"; break; case "918" : strMsg = "無此功能之權限!"; break; case "919" : strMsg = "此資料已被其他人修正過,是否強制修正為目前資料??"; break; case "999" : strMsg = "系統發生未知錯誤!"; break; case "A01" : strMsg = "資料新增成功!"; break; case "A02" : strMsg = "資料修改成功!"; break; case "A03" : strMsg = "資料刪除成功!"; break; case "A04" : strMsg = "確定刪除此筆資料?"; break; case "A05" : strMsg = "請選擇一筆資料!"; break; case "A06" : strMsg = "無符合條件資料!"; break; case "A07" : strMsg = "資料處理完畢!"; break; case "A08" : strMsg = "確定執行此作業?"; break; case "A09" : strMsg = "已執行過此作業,是否重新執行?"; break; default : strMsg = msgId; break; } alert(strMsg); } catch(e) { alert("javascript showmsg=" + e.description); } } function openPrintWindow(url_, windowName) { try { // var height_ = screen.availHeight - 20; // var width_ = screen.availWidth - 10; var height_ = screen.availHeight - 120; var width_ = screen.availWidth - 100; var style = "width=" + width_ + ",height=" + height_ + ",left=0,top=0,scrollbars=1,status=no,resizable=no,titlebar=no"; return window.open(url_, windowName, style); win.moveTo(0, 0); return win; } catch(e) { alert("openPrintWindow Err : " + e.description); } } function getRequestXML() { try { var param = arguments[0]; var ajaxPage = arguments[1]; var result; var oXML = new ActiveXObject("Msxml2.XMLHTTP"); oXML.Open("POST", ajaxPage, false); oXML.setRequestHeader("Content-Type", "text/html"); oXML.setRequestHeader("If-Modified-Since:","Tue, 11 Jul 2000 18:23:51 GMT"); oXML.Send(param); if (oXML.status == 200) { result = getResponseText(oXML.responseText); if (result == "") { result = ""; } } else { result = ""; } oXML.Close; oXML=null; return result; } catch(e) { alert("getRequestXML : " + e); } } function getLength(str) { try { var s,i=0,charCount=0,result=true; while (i++= 128 || str.charCodeAt(i) <= -128) { newstr = newstr + str.substring(i,i+2); i++; } else { newstr = newstr + str.substring(i,i+1); } } } return trim(newstr); } catch(e) { alert("getResponseText Err : " + e.description); } } function rtrim(str) { try { if (str == null) return ""; while(''+str.charAt(str.length-1) ==' ') str = str.substring(0,str.length-1); return str; } catch(e) { alert("rtrim Err : " + e.description); } } function ltrim(str) { try { if (str == null) return ""; while(''+str.charAt(0) ==' ') str = str.substring(1,str.length); return str; } catch(e) { alert("ltrim Err : " + e.description); } } function trim(str) { try { return ltrim(rtrim(str)); } catch(e) { alert("trim Err : " + e.description); } } /* 放大網頁字型 */ function FontZoomMore(size) { var fontSize = parseInt(top.main.document.body.style.fontSize); if (isNaN(fontSize)) fontSize=12; if (isNaN(size)) size=12; fontSize = size; setCookie('fontsizedata',fontSize,1); var objects= top.main.document.all; if (objects!=null) { var numberOfObj=objects.length; for (var i=0; i= len){ return source; } var tmpStr = source; while(tmpStr.length != len) { tmpStr = '0' + tmpStr + '' ; } return tmpStr; } //身分證字號驗證 function checkID(id) { if(typeof id === "object"){ id = event.srcElement.value; } if(id == ''){ return; } if(chkid(id) != ''){ alert(chkid(id)); event.srcElement.focus(); } /* tab = "ABCDEFGHJKLMNPQRSTUVXYWZIO" A1 = new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3); A2 = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5); Mx = new Array(9, 8, 7, 6, 5, 4, 3, 2, 1, 1); if (id.length != 10) return false; i = tab.indexOf(id.charAt(0)); if (i == -1) return false; sum = A1[i] + A2[i] * 9; for (i = 1; i < 10; i++) { v = parseInt(id.charAt(i)); if (isNaN(v)) return false; sum = sum + v * Mx[i]; } if (sum % 10 != 0) return false; return true; */ } //身分證字號驗證 function checkID2(id) { if(typeof id === "object"){ id = event.srcElement.value; } //var chked=false; if(id.length==10){ if( checkAlpha(id.substring(0,2))&& isNumber(id.substring(2,id.length )) ){ var NewFnID,str_tmp, head,second ; NewFnID=id; str_tmp=NewFnID.substring(2,NewFnID.length); head=NewFnID.substring(0,1); second=NewFnID.substring(1,2); second=(parseInt(transform(second.charAt(0)))-10)+""; NewFnID = head+ second+str_tmp; if(chkIDNO(NewFnID)==false){ alert("外僑(新)統編不對"); return false; } //chked=true; }else if(isNumber(id.substring(0,8))&& checkAlpha(id.substring(8,id.length)) && id.length==10){ //外僑(舊) if(!( checkCHDate(convertC2WDate(id.substring(0,8))) && ( parseInt(id.substring(0,8))>=18500101 )) ){ alert("外僑(舊)統編不對"); return false; } //chked=true; }else{ if(chkid(id)!=''){ var msg = chkid(id); if(msg != ''){ alert(msg); return false; } } } }else if(id.length==8){ if(checkban(id)!=''){ var msg = checkban(id); if(msg != ''){ alert(msg); return false; } } }else if(id.length>0){ alert("統一編號長度不正確"); return false; } return true; } //身分證字號驗證 function checkID3(id) { if(typeof id === "object"){ id = event.srcElement.value; } //var chked=false; if(id.length==10){ if( checkAlpha(id.substring(0,2))&& isNumber(id.substring(2,id.length )) ){ // var NewFnID,str_tmp, head,second ; // NewFnID=id; // str_tmp=NewFnID.substring(2,NewFnID.length); // head=NewFnID.substring(0,1); // second=NewFnID.substring(1,2); // second=(parseInt(transform(second.charAt(0)))-10)+""; // NewFnID = head+ second+str_tmp; // if(chkIDNO(NewFnID)==false){ // return "外僑(新)統編不對"; // }else{ return ''; // } //chked=true; }else if(isNumber(id.substring(0,8))&& checkAlpha(id.substring(8,id.length)) && id.length==10){ //外僑(舊) // if(!( checkCHDate(convertC2WDate(id.substring(0,8))) && ( isNumber(id.substring(0,8))>=18500101 )) ){ // return "外僑(舊)統編不對"; // }else{ return ''; // } //chked=true; }else{ if(chkid(id)!=''){ return chkid(id); }else{ return ''; } } }else if(id.length==8){ if(checkban(id)!=''){ return checkban(id); }else{ return ''; } }else if(id.length>0){ return "統一編號長度不正確"; } return "請輸入身份證字號/統一編號"; } //檢核是否為數字 function isNumber(val){ var reg = /^[0-9]*$/; return reg.test(val); //return isEmpty(val); } var reFloat = /^((\d+(\.\d*)?)|((\d*\.)?\d+))$/ var defaultEmptyOK = false function isEmpty(s) { return ((s == null) || (s.length == 0) || s == '') } function isFloat (s) { if (isEmpty(s)) if (isFloat.arguments.length == 1) return defaultEmptyOK; else return (isFloat.arguments[1] == true); return reFloat.test(s) } function isNull(val){ return(val==null); } function isInteger(val){ for(var i=0;i1){// alert("D1"); return false; } var string="1234567890"; if (string.indexOf(num)!=-1){ return true; } return false; } function getvalue(htmlid) { try { var fobj = document.forms["form1"]; var oname = arguments[0]; return fobj.elements[htmlid].value ; } catch(e) { alert("getvalue() err" + e.description); } } function getMouseOver1(obj) { if(obj.style.background != '#fffbbf') obj.style.background='#FFFBB1'; } function getMouseOut1(obj) { if(obj.style.background != '#fffbbf') obj.style.background='transparent'; } //判斷日期格式YYYMMDD,str為日期字串 function chkDateFormat(str){ var Date = str; var yyy = '', mm = '', dd = ''; if (Date.length == 7 ){ yyy = Date.substring(0,3); mm = Date.substring(3,5); dd = Date.substring(5,7); // alert(yyy); // alert(mm); // alert(dd); //判斷是否<=000年 if(((Number(yyy)) <= 000)){ // alert(" <= 000"); return true; } //判斷是否>12月 if(((Number(mm)) > 12)){ // alert(">12"); return true; } //判斷是否<1月 if(((Number(mm)) < 1)){ // alert("<1"); return true; } //判斷是否<1月 if(((Number(mm)) < 1)){ // alert("<1"); return true; } //判斷是否<= 00日 if(((Number(dd)) <= 00)){ // alert("<=00"); return true; } //判斷那幾個月有31天 if ((((Number(mm)) == 1) || ((Number(mm)) == 3) || ((Number(mm)) == 5) || ((Number(mm)) == 7) || ((Number(mm)) == 8) || ((Number(mm)) == 10) || ((Number(mm)) == 12)) && (((Number(dd)) > 31))){ // alert("1"); return true; } //判斷那幾個月有30天 if ((((Number(mm)) == 4) || ((Number(mm)) == 6) || ((Number(mm)) == 9) || ((Number(mm)) == 11)) && (((Number(dd)) > 30))){ // alert("2"); return true; } //判斷2月是否閏年 if (mm == 2) { // alert((Number(yyy)+1911)); // alert(yyy); if (((Number(yyy)+1911) % 4) == 0) { //Number=把String 轉成Number,作加減 if (dd > 29){ // alert("3"); return true; } }else { if (dd > 28){ // alert("4"); return true; } } } } return false; } //============================================= //function checkAlpha(str) //desc: 判斷是否為英文字串 //input: str 英文字串 //output: boolean //============================================= function checkAlpha(str) { try { for(i=0;i"Z"&&value < "a"||value > "z") { return false; } } return true; } catch(e) { } } function convertC2WDate(date) { try { date=formatCDate(date); var odate=new Date(date); var year=""; if (parseFloat(date.substring(0,4))>=2000) { year=parseFloat(odate.getFullYear())-1911; year=((year+"").length==2)?"0"+year:year+""; } else { if (parseFloat(date.substring(0,4))>=1900) { if (parseFloat(date.substring(0,4))>1911) year=parseFloat(odate.getFullYear())-11; else year=parseFloat(odate.getFullYear())-12; } else year=parseFloat(odate.getFullYear())-1911; if (year>0) year=((year+"").length==1)?"00"+year:((year+"").length==2)?"0"+year:year+""; else year=((-year+"").length==1)?"-0"+(-year):"-"+(-year); } var month=odate.getMonth()+1; var day=odate.getDate(); month=((month+"").length==1)?"0"+month:month+""; day=((day+"").length==1)?"0"+day:day+""; return year+""+month+""+day; } catch(e) { } } function transform(id) { var result=""; switch(id) { case 'A': result= "10";break; case 'B': result= "11";break; case 'C': result= "12";break; case 'D': result= "13";break; case 'E': result= "14";break; case 'F': result= "15";break; case 'G': result= "16";break; case 'H': result= "17";break; case 'I': result= "34";break; case 'J': result= "18";break; case 'K': result= "19";break; case 'L': result= "20";break; case 'M': result= "21";break; case 'N': result= "22";break; case 'O': result= "35";break; case 'P': result= "23";break; case 'Q': result= "24";break; case 'R': result= "25";break; case 'S': result= "26";break; case 'T': result= "27";break; case 'U': result= "28";break; case 'V': result= "29";break; case 'W': result= "32";break; case 'X': result= "30";break; case 'Y': result= "31";break; case 'Z': result= "33";break; } return result; } function chkIDNO(str) { try { var UserID=str; var code = str.charCodeAt(1); if ((code >= 65 && code <= 90) || (code >= 97 && code <= 122)) return true; if (UserID.length!=10) return false; var Weight = new Array(10); //定義加權值 var Location = new Array(26); //區域值轉換表 var CheckNum, Temp, CheckSum, Flag; var i, j; var Sex, Place, HTMLcode, UserID2; Flag = false; CheckSum=0; UserID2 = UserID; //設定加權值初值 Weight[0] = 1; for (i=1; i<10; i++) Weight[i] = 10 - i; //定義區域表的轉換值,沒有I,O Location[0] = new Array("A", "台北市", "10"); Location[1] = new Array("B", "台中市", "11"); Location[2] = new Array("C", "基隆市", "12"); Location[3] = new Array("D", "台南市", "13"); Location[4] = new Array("E", "高雄市", "14"); Location[5] = new Array("F", "台北縣", "15"); Location[6] = new Array("G", "宜蘭縣", "16"); Location[7] = new Array("H", "桃園縣", "17"); Location[8] = new Array("J", "新竹縣", "18"); Location[9] = new Array("K", "苗栗縣", "19"); Location[10] = new Array("L", "台中縣", "20"); Location[11] = new Array("M", "南投縣", "21"); Location[12] = new Array("N", "彰化縣", "22"); Location[13] = new Array("P", "雲林縣", "23"); Location[14] = new Array("Q", "嘉義縣", "24"); Location[15] = new Array("R", "台南縣", "25"); Location[16] = new Array("S", "高雄縣", "26"); Location[17] = new Array("T", "屏東縣", "27"); Location[18] = new Array("U", "花蓮縣", "28"); Location[19] = new Array("V", "台東縣", "29"); Location[20] = new Array("W", "金門縣", "32"); Location[21] = new Array("X", "澎湖縣", "30"); Location[22] = new Array("Y", "陽明山", "31"); Location[23] = new Array("Z", "馬祖", "33"); Location[24] = new Array("I", "嘉義市", "34"); Location[25] = new Array("O", "新竹市", "35"); Temp = UserID.substring(1,2); Sex = (Temp == "1") ? "男生" : "女生"; Temp = UserID.substring(0,1); //取得英文字母與檢查碼 Temp = Temp.toUpperCase(); CheckNum = parseInt(UserID.substring(UserID.length-1, UserID.length)); for(i=0; i<26; i++) { if(Temp == Location[i][0]) { //轉換成完整數字串列 UserID = Location[i][2] + UserID.substring(1,UserID.length); Place = Location[i][1]; //取得出生地 id_num = parseInt(UserID.substring(0,1)) + parseInt(UserID.substring(1,2)) *9+ parseInt(UserID.substring(2,3)) *8+ parseInt(UserID.substring(3,4)) *7+ parseInt(UserID.substring(4,5)) *6+ parseInt(UserID.substring(5,6)) *5+ parseInt(UserID.substring(6,7)) *4+ parseInt(UserID.substring(7,8)) *3+ parseInt(UserID.substring(8,9)) *2+ parseInt(UserID.substring(9,10)) + parseInt(UserID.substring(10,11)); if ((id_num % 10) == 0) { // 是身份証字號 Flag = true; } } } return Flag; } catch(e) { } } function telFormatCheck(phone){ if(typeof phone === "object"){ phone = event.srcElement.value; if(phone.match(/^[0][0-9]{1,4}-([0-9]{6,8})+((#([0-9]){1,5}){0,1})$/) == null || phone.match(/^[0][1-9]{1,4}-([0-9]{6,8})+((#([0-9]){1,5}){0,1})$/) == false) { alert('電話格式錯誤ex:02-26575627,0912-123456'); event.srcElement.focus(); } }else{ if(phone == null || phone.length==0) return true; return phone.match(/^[0][0-9]{1,4}-([0-9]{6,8})+((#([0-9]){1,5}){0,1})$/); } } function checkLandlineValue(phone){ if(phone == null || phone.length==0) {return true;} var pattern = /^[0][0-9]{1,4}-([0-9]{6,8})+((#([0-9]){1,5}){0,1})$/; return pattern.test(phone); } function checkCellValue(phone){ if(phone==null || phone.length==0) {return true;} var pattern = /^09[0-9]{2}([0-9]{6})$/; return pattern.test(phone); } function telFormatCheck2(){ var phone = event.srcElement.value; if(phone != '' && phone != null){ if(phone.match(/^[0][0-9]{1,4}-([0-9]{6,8})+((#([0-9]){1,5}){0,1})$/) == null || phone.match(/^[0][0-9]{1,4}-([0-9]{6,8})+((#([0-9]){1,5}){0,1})$/) == false) { alert('電話格式錯誤ex:02-26575627,0912-123456'); event.srcElement.focus(); } } } function telFormatCheck3(){ var phone = event.srcElement.value; if(phone != '' && phone != null){ if(phone.match(/^[0][0-9]{3}-([0-9]{6})$/) == null ||phone.match(/^[0][0-9]{3}-([0-9]{6})$/) == false) { alert('手機格式錯誤ex:0912-123456'); event.srcElement.focus(); } } } function formatCDate(date) { try { if (date.length==8) var str=date; else return ""; str=str.substring(0,4)+"/"+str.substring(4,6)+"/"+str.substring(6,8); return str; } catch(e) { } } //除法函數,用來得到精確的除法結果 //說明:javascript的除法結果會有誤差,在兩個浮點數相除的時候會比較明顯。這個函數返回較為精確的除法結果。 //調用:accDiv(arg1,arg2) //返回值:arg1除以arg2的精確結果 function accDiv(arg1,arg2){ var t1=0,t2=0,r1,r2; try{t1=arg1.toString().split(".")[1].length}catch(e){} try{t2=arg2.toString().split(".")[1].length}catch(e){} with(Math){ r1=Number(arg1.toString().replace(".","")) r2=Number(arg2.toString().replace(".","")) return (r1/r2)*pow(10,t2-t1); } } //給Number類型增加一個div方法,調用起來更加 方便。 Number.prototype.div = function (arg){ return accDiv(this, arg); } //乘法函數,用來得到精確的乘法結果 //說明:javascript的乘法結果會有誤差,在兩個浮點數相乘的時候會比較明顯。這個函數返回較為精確的乘法結果。 //調用:accMul(arg1,arg2) //返回值:arg1乘以 arg2的精確結果 function accMul(arg1,arg2) { var m=0,s1=arg1.toString(),s2=arg2.toString(); try{m+=s1.split(".")[1].length}catch(e){} try{m+=s2.split(".")[1].length}catch(e){} return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m) } //給Number類型增加一個mul方法,調用起來更加方便。 Number.prototype.mul = function (arg){ return accMul(arg, this); } //加法函數,用來得到精確的加法結果 //說明:javascript的加法結果會有誤差,在兩個浮點數相加的時候會比較明顯。這個函數返回較為精確的加法結果。 //調用:accAdd(arg1,arg2) //返回值:arg1加上arg2的精確結果 function accAdd(arg1,arg2){ var r1,r2,m; try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} m=Math.pow(10,Math.max(r1,r2)) return (arg1*m+arg2*m)/m } //給Number類型增加一個add方法,調用起來更加方便。 Number.prototype.add = function (arg){ return accAdd(arg,this); }