function checkstrid(obj, cname) { var data1 = obj.value; reg = /[^a-z\d]/g; if (data1.match(reg) != null) { alert(cname + "請輸入小寫英文字母或數字!"); obj.focus(); return false } if (data1.length < 4) { alert(cname + "字元數不得小於四個!"); obj.focus(); return false } return true } function checkstrpwd(obj, cname) { var data1 = rmtrailingblank(obj.value); if (data1.length < 6) { alert(cname + "字元數不得小於六個!"); obj.focus(); return false } if (!/\d+/.test(data1) || !/[a-za-z]/.test(data1) || !/[a-z]/.test(data1)) { alert(cname + "請使用包含大小寫英文字母與數字的密碼"); obj.focus(); return false } return true } function checkstruserpwd(obj, cname) { var data1 = rmtrailingblank(obj.value); if (data1.length < 4) { alert(cname + "字元數不得小於四個!"); obj.focus(); return false } return true } function checkpwdsame(obj1, obj2, cname) { var data1 = rmtrailingblank(obj1.value); var data2 = rmtrailingblank(obj2.value); if (data1 != data2) { alert(cname + "不相同!"); obj2.focus(); return false } return true } function replacebigcomma(obj) { str = obj.value; if (str == "" || str == null) return str if (str.indexof(",") != -1) { str = str.replace(/,/g, ",") } obj.value = str; return true } function rmtrailingblank(str) { if (str == "" || str == null) return str var lastblank = str.lastindexof(' '); if (lastblank == (str.length - 1)) { var i for (i = str.length - 2; i >= 0; i--) { if (str.charat(i) != ' ') break } return str.substring(0, i + 1) } else return str } function cleartext(obj) { obj.value = "" } function trim(source, chr) { chr = chr || " "; return ltrim(rtrim(source, chr), chr) } function checkstrlength(obj, cname, limit) { var data1 = obj.value; if (data1.length > limit) { alert(cname + "字數不得超過" + limit + "個字元(含空白)!"); obj.focus(); return false } return true } function checkstrlength_low(obj, cname, limit) { var data1 = obj.value; if (data1.length < limit) { alert(cname + "字數不得少於" + limit + "個字元!"); obj.focus(); return false } return true } function checknotempty(obj, cname) { var data1 = obj.value; if (data1 == "") { alert(cname + " 未填寫!"); if (obj.type == 'text') obj.focus(); return false } return true } function checknotallempty(obj1, obj2, cname) { var data1 = obj1.value; var data2 = obj2.value; if (data1 == "" && data2 == "") { alert(cname + "至少填寫1個!"); if (obj1.type == 'text') obj1.focus(); return false } return true } function checknotfirst(obj, cname) { var data1 = obj.selectedindex; if (data1 == 0) { alert(cname + " 尚未選取!"); obj.focus(); return false } return true } function checknotlast(obj, cname) { var data1 = obj.selectedindex; if (data1 == (obj.options.length - 1)) { alert(cname + " 尚未選取!"); obj.focus(); return false } return true } function checkcheckbox(obj, cname) { for (i = 0; i < obj.length; i++) { if (obj[i].checked) { return true } } alert(cname + " 尚未選取!"); return false } function checkcheckboxthan(obj, cname, n) { chk = 0; for (i = 0; i < obj.length; i++) { if (obj[i].checked) { chk++ } } if (chk > n) { alert(cname + " 不可選超過 " + n + " 個!"); return false } return true } function checkcheckradio(obj, cname) { for (i = 0; i < obj.length; i++) { if (obj[i].checked) { return true } } alert(cname + " 尚未選取!"); return false } function checkplusnumber(obj, cname) { var data1 = obj.value; n1 = number(data1); n2 = math.floor(n1); if (isnan(n1) || (n1 < 0) || (n1 != n2)) { alert(cname + "必需為正整數!"); obj.focus(); return false } return true } function checkplusfloat(obj, cname) { var data1 = obj.value; n1 = number(data1); if (isnan(n1) || (n1 < 0)) { alert(cname + "必需為正數!"); obj.focus(); return false } return true } function checkemail(obj, cname) { var data1 = obj.value; var len = data1.length; var errflag = 0; if (len == 0) { return true } for (var i = 0; i < len; i++) { var c = data1.charat(i); if (!((c >= "a" && c <= "z") || (c >= "a" && c <= "z") || (c >= "0" && c <= "9") || (c == "_") || (c == "-") || (c == ".") || (c == "@") || (c == "_"))) { errflag = 1 } } if ((data1.indexof("@") == -1) || (data1.indexof("@") == 0) || (data1.indexof("@") == (len - 1))) { errflag = 1 } else if ((data1.indexof("@") != -1) && (data1.substring(data1.indexof("@") + 1, len).indexof("@") != -1)) { errflag = 1 } else if ((data1.indexof(".") == -1) || (data1.indexof(".") == 0) || (data1.lastindexof(".") == (len - 1))) { errflag = 1 } if (errflag == 1) { alert(cname + " 格式不正確!"); obj.focus(); return false } return true } function checkspecialchar(allobj) { var check = new array("'", "\"", "&&", "%", "+", "$", "<>", "<", ">", "=", "\\", "|", "~", "--"); var errflag = 0; var data1 = ""; for (var i = 0; i < allobj.length; i++) { if (((allobj[i].type == "text") || (allobj[i].type == "textarea")) && (allobj[i].classname.indexof('editor') == -1) && (allobj[i].classname.indexof('url') == -1) && (allobj[i].name.indexof('url') == -1) && (allobj[i].name.indexof('cont') == -1) && (allobj[i].name.indexof('mediaytbconf') == -1) && (allobj[i].name.indexof('querystr') == -1)) { data1 = allobj[i].value; for (var j = 0; j < check.length; j++) { if (data1.indexof(check[j]) != -1) { alert("請勿輸入特殊字元!"); allobj[i].focus(); return false } } } } return true } function checkpersonalid(obj, cname) { var data1 = obj.value; var intidlength = data1.length; var stridfirst = data1.charat(0).touppercase(); var stridsecond = data1.charat(1); var stridnum = data1.substr(1, 9); var errflag = 0; if (intidlength != 10) { errflag = 1 } else if (stridfirst < 'a' || stridfirst > 'z') { errflag = 1 } else if (stridsecond != '1' && stridsecond != '2') { errflag = 1 } for (i = 0; i <= 8; i++) { if (isnan(stridnum.substr(i, 1))) { errflag = 1 } } if (errflag == 1) { alert(cname + "請輸入正確格式!"); obj.focus(); return false } var intverify1 = ("abcdefghjklmnpqrstuvxywzio".indexof(stridfirst, 0)) + 10; data1 = "" + intverify1 + stridnum; var intverify2 = eval(data1.substr(0, 1)); for (i = 1; i <= 9; i++) { intverify2 = intverify2 + (eval(data1.substr(i, 1)) * (10 - i)) } intverify2 = intverify2 + eval(data1.substr(10, 1)); if (intverify2 % 10 == 0) { return true } else { alert(cname + "請輸入正確格式!"); obj.focus(); return false } }