//*******************************************************************//作者: 丁伯洋//日期: 2006-4-27//概要: 这里主要放的是一些检查合法性的函数// 以_开头的函数请不要调用,//*******************************************************************// *********************************************************************************************** //// function getStrLength(value): 获取字符串实际长度,对于汉字作了处理。// function checkStrLength(value,maxLen)): 检查字符串的长度,对于汉字作了处理。// function checkEmail(value): 检查Email是否合法。// function isVaildEmail() 检查Email是否合法(旧版网才检查邮件地址合法性)。// function checkPhone(value): 检查电话号码是否合法。// function checkPostalcode(value): 检查邮编是否合法。// function checkCharWithNoException(value): 检查是否有不合法的字符,返回布尔值。// function checkCharThrowErrorStr(value): 检查是否有不合法的字符,直接抛出异常字符串。// function checkCharThrowErrorObj(value): 检查是否有不合法的字符,直接抛出异常对象。 // function formatNumber(value,precision): 按精度格式化浮点数,也可将精度设为-1则只进行检查数据的合法性。// function formatCurrency(value,precision): 按精度格式化货币,也可将精度设为-1则只进行检查数据的合法性。// function changeCurrencyToBig(value): 将货币金额转换成中文大写。// function formatDate(value,formatstring): 将11位的日期(比如YYYY-MM-DD)转化为8位的字符串(YYYYMMDD)。// function unFormatDate(value,formatstring): 将标准化的日期(YYYYMMDD)格式化成指定字符分割的日期格式(比如YYYY-MM-DD)。// function trim(value): 删除两端空格。// function getMainPath(): 返回系统主页的完整路径。// function getVirtualPath(): 返回虚拟目录的路径。// function exitCurrentPage(): 关闭当前页面。// function popWelcomeInfo: 右键欢迎信息。// function OpenDivMask(): 打开遮挡层同时把下拉筐隐藏。// function CloseDivMask(): 关闭遮挡层同时把下拉筐显示。// function ChangeForeColor(): 改变事件源字体颜色。// function HasHtmlTag(val) 判断内容中是否含有html标签// function post_to_url(path, params, formName) 用于向指定页面提交数据,Sample:post_to_url(window.location.href,{'pwd':'111111', 'username':'admin'});// function ShowMsg(Message,Title,LanType,OpenMask) 显示信息,函数会自动创建一个"p_msgbox"DIV,提示信息显示在里面// function CloseMsg() 与ShowMsg配套,用于关闭提示层// function MoveToCenter(box,width,height) 把Div移动到屏幕中央 // function GetUrlQuerystring(paras) js获取url参数方法// function IsContainsChinese(value) 字符是否是中文、全角字符// function IsForbiddenUrl(value,type) 是否是禁用Url// function ToHalfCharacter(val) 全角转半角// function isLegalName(str) 检查是否为合法字符// function isCharCodeValid(code,arr) 单个检查char字符是否为合法字符// function in_arr(arr,val) 查看val是否存在于arr数组中// function onlyNum(event) 只允许输入数字(@param event:事件)// function getId() 返回对象// function posMouseToLast(text) 定位鼠标到文本框最后(@param text:文本框)// function centerDialog(id) 弹层屏幕居中(@param id:弹层id[带#号])// window.dialog = {} 自定义消息弹出框[alert、confirm] // function getSubBytes(value, len) 根据文字的字数是否超限制,增加...(@param value:文本,@param len:截取字段长度)// function htmlEncode(input) 编码文字(@param input:文字)// *********************************************************************************************** //// *********************************************************************************** //// function getStrLength(value)// -----------// 功能:获取字符串实际长度// 传入参数:// value:要进行检查的数字// 返回值:false: 超长 true:合法// *********************************************************************************** //function getStrLength(value){ var str,Num = 0; for (var i=0;imaxLen) return false; } return true;}// *********************************************************************************** //// function checkEmail(value)// --------------// 功能:检查Email是否合法// 传入参数:// value: 要进行检查的Email地址// 传出结果: 返回是否合法 false: 错误 true:合法// *********************************************************************************** //function checkEmail(s){ /*value = trim(value); var emailexp = /^$|^[a-z][a-z_0-9\.]+@[a-z_0-9\.]+\.[a-z]+$/i; return emailexp.test(value);*/ //changed by jeron 20090511 var flag=false;//标识是否是合法的Email //var reg=/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$/; //var reg=/^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|com|gov|mil|org|edu|int|name|asia|NET|COM|GOV|MIL|ORG|EDU|INT|NAME|ASIA)$/; var reg=/^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([_.0-9a-zA-Z-]+[.])+([0-9a-zA-Z]{1,})$/;//changed by jeron 20090519 flag=RegExp(reg).test(trim(s)); if(!flag){ return false; } /* var i = 1; var len = s.length; pos1 = s.indexOf("@"); pos2 = s.indexOf("."); pos3 = s.lastIndexOf("@"); pos4 = s.lastIndexOf("."); if ((pos1 <= 0)||(pos1 == len)||(pos2 <= 0)||(pos2 == len)) { return false; } else { if( (pos1 == pos2 - 1) || (pos1 == pos2 + 1)|| ( pos1 != pos3 )|| ( pos4 < pos3 ) ) { return false; } } */ return true;}// *********************************************************************************** //// function isVaildEmail()// --------------// 功能:检查Email是否合法(旧版网才检查邮件地址合法性)// 传出结果: // *********************************************************************************** ////added by huanghui 使用了51job的email正则表达式function isVaildEmail(s){try{ if (s.length > 100) { // window.alert(errtip); return false; } s = s.toLowerCase() var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT|name|NAME)$"; var re = new RegExp(regu); if (s.search(re) != -1) { return true; } else { //window.alert (errtip); return false; } }catch(er){ throw er; }}function isVaildEmail_old(s){ var i = 1; var len = s.length; pos1 = s.indexOf("@"); pos2 = s.indexOf("."); pos3 = s.lastIndexOf("@"); pos4 = s.lastIndexOf("."); if ((pos1 <= 0)||(pos1 == len)||(pos2 <= 0)||(pos2 == len)) { return false; } else { if( (pos1 == pos2 - 1) || (pos1 == pos2 + 1)|| ( pos1 != pos3 )|| ( pos4 < pos3 ) ) { return false; } } return true;}// *********************************************************************************** //// function checkPhone(value)// --------------// 功能:检查电话号码是否合法// 传入参数:// value: 要进行检查的电话号码// 传出结果: 返回是否合法 false: 错误 true:合法// *********************************************************************************** //function checkPhone(value){ value = trim(value); var phoneexp = /^$|^[+0-9(][0-9\-\*()]+[0-9)]$/; return phoneexp.test(value); }// *********************************************************************************** //// function checkPostalcode(value)// --------------// 功能:检查邮编是否合法// 传入参数:// value: 要进行检查的邮编// 传出结果: 返回是否合法 false: 错误 true:合法// *********************************************************************************** //function checkPostalcode(value){ value = trim(value); var phoneexp = /^$|^\d{6}$/; return phoneexp.test(value); }// *********************************************************************************** //// function checkCharWithNoException(value)// --------------// 功能:检查是否有不合法的字符,返回布尔值// 传入参数:// value: 要进行检查的字符串// 传出结果: 若有不合法字符抛出异常// *********************************************************************************** //function checkCharWithNoException(value){ var chars="_'%\*&\+#"+'"'; var regex = new RegExp("["+chars+"]"); if(regex.test(value)) return false; return true; }// *********************************************************************************** //// function checkCharThrowErrorStr(value)// --------------// 功能:检查是否有不合法的字符,直接抛出异常信息字符串// 传入参数:// value: 要进行检查的字符串// 传出结果: 若有不合法字符抛出提示字符串// *********************************************************************************** //function checkCharThrowErrorStr(value){ var chars="_'%\*&\+#"+'"'; var regex = new RegExp("["+chars+"]"); if(regex.test(value)) throw "不允许包含 "+chars+" 等特殊字符"; if (value.indexOf("--")>=0) throw "不允许包含--字符"; return true;}// *********************************************************************************** //// function checkCharThrowErrorStr(value)// --------------// 功能:检查是否有不合法的字符,直接抛出异常对象// 传入参数:// value: 要进行检查的字符串// 传出结果: 若有不合法字符抛出提示字符串// *********************************************************************************** //function checkCharThrowErrorObj(value){ var chars="_'%\*&\+#"+'"'; var regex = new RegExp("["+chars+"]"); if(regex.test(value)) throw new Error("不允许包含 "+chars+" 等特殊字符"); if (value.indexOf("--")>=0) throw new Error("不允许包含--字符"); return true;}// *********************************************************************************** //// function formatNumber(value,precision)// --------------// 功能:按精度格式化浮点数,也可将精度设为-1则只进行检查数据的合法性// 传入参数: value: 要进行检查的数字// precision:精度数// 传出结果: 格式化后的值// *********************************************************************************** //function formatNumber(value,precision){ var strErr; var num; var s_value,decimal_value; var decimal_sect,interger_sect; var strArrSect,strArr; var defautValue; if (precision>0) { defautValue="0."; var i = 0; while( i < precision) { defautValue =defautValue +"0"; i++; } } else { defautValue = "0"; } if(trim(value)=="") //数据为空时返回 value="0"; if (isNaN(value)) //数据非法时提示,并返回空串 { strErr = "数据"+value+"非法!"; throw new Error(strErr); return defautValue; } if (precision==-1) //只作检查时精度为-1 return Number(value); try { s_value = value.toString()+"."; strArrSect = s_value.split("."); if(typeof(strArrSect[1])=='undefined') { strArrSect[1]=0; } integer_sect = strArrSect[0]; decimal_sect = "0."+strArrSect[1]; num = Math.pow(10,precision); decimal_value = Math.round(decimal_sect*num)/num; decimal_value = decimal_value.toString(); decimal_value = decimal_value+"."; strArr = decimal_value.split("."); if(typeof(strArr[1])=='undefined') { strArr[1] = ""; } while(strArr[1].length 12) //数据大于等于一万亿时提示无法处理 { strErr = "数据"+value+"过大,无法处理!" alert(strErr); return ""; } try { i = 0; strBig = ""; intFen = value*100; //转换为以分为单位的数值 strFen = intFen.toString(); strArr = strFen.split("."); strFen = strArr[0]; intFen = strFen.length; //获取长度 strArr = strFen.split(""); //将各个数值分解到数组内 while(intFen!=0) //分解并转换 { i = i+1; switch(i) //选择单位 { case 1:strDW = "分";break; case 2:strDW = "角";break; case 3:strDW = "元";break; case 4:strDW = "拾";break; case 5:strDW = "佰";break; case 6:strDW = "仟";break; case 7:strDW = "万";break; case 8:strDW = "拾";break; case 9:strDW = "佰";break; case 10:strDW = "仟";break; case 11:strDW = "亿";break; case 12:strDW = "拾";break; case 13:strDW = "佰";break; case 14:strDW = "仟";break; } switch (strArr[intFen-1]) //选择数字 { case "1":strNum = "壹";break; case "2":strNum = "贰";break; case "3":strNum = "叁";break; case "4":strNum = "肆";break; case "5":strNum = "伍";break; case "6":strNum = "陆";break; case "7":strNum = "柒";break; case "8":strNum = "捌";break; case "9":strNum = "玖";break; case "0":strNum = "零";break; } //处理特殊情况 strNow = strBig.split(""); //分为零时的情况 if((i==1)&&(strArr[intFen-1]=="0")) strBig = "整"; //角为零时的情况 else if((i==2)&&(strArr[intFen-1]=="0")) { //角分同时为零时的情况 if(strBig!="整") strBig = "零"+strBig; } //元为零的情况 else if((i==3)&&(strArr[intFen-1]=="0")) strBig = "元"+strBig; //拾-仟中一位为零且其前一位(元以上)不为零的情况时补零 else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="元")) strBig = "零"+strBig; //拾-仟中一位为零且其前一位(元以上)也为零的情况时跨过 else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零")) {} //拾-仟中一位为零且其前一位是元且为零的情况时跨过 else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="元")) {} //当万为零时必须补上万字 else if((i==7)&&(strArr[intFen-1]=="0")) strBig ="万"+strBig; //拾万-仟万中一位为零且其前一位(万以上)不为零的情况时补零 else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="万")) strBig = "零"+strBig; //拾万-仟万中一位为零且其前一位(万以上)也为零的情况时跨过 else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="万")) {} //拾万-仟万中一位为零且其前一位为万位且为零的情况时跨过 else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零")) {} //万位为零且存在仟位和十万以上时,在万仟间补零 else if((i<11)&&(i>8)&&(strArr[intFen-1]!="0")&&(strNow[0]=="万")&&(strNow[2]=="仟")) strBig = strNum+strDW+"万零"+strBig.substring(1,strBig.length); //单独处理亿位 else if(i==11) { //亿位为零且万全为零存在仟位时,去掉万补为零 if((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]=="仟")) strBig ="亿"+"零"+strBig.substring(1,strBig.length); //亿位为零且万全为零不存在仟位时,去掉万 else if((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]!="仟")) strBig ="亿"+strBig.substring(1,strBig.length); //亿位不为零且万全为零存在仟位时,去掉万补为零 else if((strNow[0]=="万")&&(strNow[2]=="仟")) strBig = strNum+strDW+"零"+strBig.substring(1,strBig.length); //亿位不为零且万全为零不存在仟位时,去掉万 else if((strNow[0]=="万")&&(strNow[2]!="仟")) strBig = strNum+strDW+strBig.substring(1,strBig.length); //其他正常情况 else strBig = strNum+strDW+strBig; } //拾亿-仟亿中一位为零且其前一位(亿以上)不为零的情况时补零 else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="亿")) strBig = "零"+strBig; //拾亿-仟亿中一位为零且其前一位(亿以上)也为零的情况时跨过 else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="亿")) {} //拾亿-仟亿中一位为零且其前一位为亿位且为零的情况时跨过 else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零")) {} //亿位为零且不存在仟万位和十亿以上时去掉上次写入的零 else if((i<15)&&(i>11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]!="仟")) strBig = strNum+strDW+strBig.substring(1,strBig.length); //亿位为零且存在仟万位和十亿以上时,在亿仟万间补零 else if((i<15)&&(i>11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]=="仟")) strBig = strNum+strDW+"亿零"+strBig.substring(2,strBig.length); else strBig = strNum+strDW+strBig; strFen = strFen.substring(0,intFen-1); intFen = strFen.length; strArr = strFen.split(""); } //按货币转换,但是如果不需要货币则替换掉 if (psType == "1") { if ((strBig.indexOf("角")<0)&&(strBig.indexOf("分")<0)) strBig = strBig.replace("元",""); else strBig = strBig.replace("元","点"); strBig = strBig.replace("整",""); strBig = strBig.replace("角",""); strBig = strBig.replace("分",""); } return strBig; }catch(err){ return ""; //若失败则返回原值 } }// *********************************************************************************** //// function formatDate(value,modal)// --------------// 功能:将11位的日期转化为8位的字符串// 传入参数:// value: 要进行格式化的日期串(11位 YYYY-MM-DD...)// modal: 输入格式号// 1:YYYY-MM-DD// 2:MM-DD-YYYY// 3:DD-MM-YYYY// 4:YYYY-DD-MM// 传出结果: 格式化后的字符串(8位 YYYYMMDD)// 完成日期: 2001年5月21日// *********************************************************************************** //function formatDate(value,modal){ var strYear,strMonth,strDay,strDate; var strValue,intlong; if((trim(value)=="")||(trim(modal)=="")) //日期为空时返回 return "00000000"; strValue = value; if(trim(modal)=="1") //处理1:YYYY-MM-DD的情况 { strYear = strValue.substring(0,4); strMonth = strValue.substring(5,7); strDay = strValue.substring(8,10); strDate = strYear+strMonth+strDay; } else if(trim(modal)=="2") //处理2:MM-DD-YYYY的情况 { strYear = strValue.substring(6,10); strMonth = strValue.substring(0,2); strDay = strValue.substring(3,5); strDate = strYear+strMonth+strDay; } else if(trim(modal)=="3") //处理3:DD-MM-YYYY的情况 { strYear = strValue.substring(6,10); strMonth = strValue.substring(3,5); strDay = strValue.substring(0,2); strDate = strYear+strMonth+strDay; } else if(trim(modal)=="4") //处理4:YYYY-DD-MM的情况 { strYear = strValue.substring(0,4); strMonth = strValue.substring(8,10); strDay = strValue.substring(5,7); strDate = strYear+strMonth+strDay; } else //若有其他情况则返回 { strDate = "00000000"; } intlong = strDate.length; if ((intlong!=8)||(isNaN(strDate))) //日期非法时提示,并返回 { strErr = "日期"+value+"转换时有错误!"; alert(strErr); return "00000000"; } return strDate;}// *********************************************************************************** //// function unFormatDate(value,formatstring)// --------------// 功能:将标准化的日期(YYYYMMDD)格式化成指定字符分割的日期格式(比如YYYY-MM-DD)// 传入参数: value: 要进行格式化的日期串(8位 YYYYMMDD)// formatstring:格式化方式(11位 年:YYYY,月:MM,日:DD)// 传出结果: 格式化后的字符串(YYYY/MM/DD...)// 完成日期: 2001年5月22日// *********************************************************************************** //function unFormatDate(value,formatstring){ var strDate,strDay,strMonth,strYear; var strFirst,strSecond,strLast,strFGet; var strErr,strMid1,strMid2; var intlong; strDate = trim(value); intlong = strDate.length; if ((intlong!=8)||(isNaN(strDate))) //数据非法时提示,并返回空串 { strErr = "日期"+strDate+"有错误!"; alert(strErr); return ""; } strYear = strDate.substring(0,4); //拆解字符串 strMonth = strDate.substring(4,6); strDay = strDate.substring(6,8); strDate = trim(formatstring); if(strDate=="") //字符串为空时默认“YYYY年MM月DD日”格式 { strFGet = strYear+"年"+strMonth+"月"+strDay+"日"; return strFGet; } strFirst = strDate.substring(0,1); if(strFirst=="Y") //年在前的情况 { strSecond = strDate.substring(5,6); strLast = strDate.substring(8,9); strMid1 = strDate.substring(4,5); strMid2 = strDate.substring(7,8); if(strMid1!=strMid2) //前后间隔不统一时默认“YYYY-MM-DD”格式 { strFGet = strYear+"-"+strMonth+"-"+strDay; return strFGet; } if((strSecond=="M")&&(strLast=="D")) //“YYYY#MM#DD”格式 { strFGet = strYear+strMid1+strMonth+strMid1+strDay; return strFGet; } else if((strSecond=="D")&&(strLast=="M")) //“YYYY#DD#MM”格式 { strFGet = strYear+strMid1+strDay+strMid1+strMonth; return strFGet; } else //有错误出现时默认“YYYY-MM-DD”格式 { strFGet = strYear+"-"+strMonth+"-"+strDay; return strFGet; } } else if((strFirst=="M")||(strFirst=="D")) //年在后的情况 { strSecond = strDate.substring(3,4); strLast = strDate.substring(6,7); strMid1 = strDate.substring(2,3); strMid2 = strDate.substring(5,6); if(strMid1!=strMid2) //前后间隔不统一时默认“MM-DD-YYYY”格式 { strFGet = strMonth+"-"+strDay+"-"+strYear; return strFGet; } if((strFirst=="M")&&(strSecond=="D")) //“MM-DD-YYYY”格式 { strFGet = strMonth+strMid1+strDay+strMid1+strYear; return strFGet; } else if((strFirst=="D")&&(strSecond=="M")) //“DD-MM-YYYY”格式 { strFGet = strDay+strMid1+strMonth+strMid1+strYear; return strFGet; } else //有错误出现时默认“MM-DD-YYYY”格式 { strFGet = strMonth+"-"+strDay+"-"+strYear; return strFGet; } } else //有错误出现时默认“YYYY-MM-DD”格式 { strFGet = strYear+"-"+strMonth+"-"+strDay; return strFGet; }}// **************************************************************** //// function trim(value)// --------------// 功能:删除两端空格(= trim)// 参数: value 要格式化的字符串// 返回: 格式化后的字符串// **************************************************************** //function trim(value){ var res = String(value).replace(/^[\s]+|[\s]+$/g,''); return res;}// *********************************************************************************** //// function getMainPath()// --------------// 功能:返回系统主页的完整路径// 传出结果: 系统主页的完整路径// *********************************************************************************** //function getMainPath(){ return GetVirtualPath()+"MainLogin.aspx"; //返回主页}// *********************************************************************************** //// function getVirtualPath()// --------------// 功能:返回虚拟目录的路径,形如:"/drp/"// 传出结果: 虚拟目录的路径// *********************************************************************************** //function getVirtualPath(){ var p = window.location.pathname; //取当前页地址 if(p.substring(0,1)!="/") p = "/"+p; var str = p.replace(/^[/]\w*[/]/,""); //将虚拟目录从字符串中清除 return p.substring(0,p.length - str.length); //返回虚拟目录}// *********************************************************************************** //// function exitCurrentPage()// --------------// 功能:关闭当前页面// 传出结果: // *********************************************************************************** //function exitCurrentPage(){ window.returnValue = false; window.opener = null; window.close(); return false;}// *********************************************************************************** //// function popWelcomeInfo 右键欢迎信息()// --------------// 功能:右键欢迎信息// 传出结果: // *********************************************************************************** //function popWelcomeInfo(){ var keyC = window.event.button; if (keyC==2) { alert("提示信息!"); return false; }}// *********************************************************************************** //// function isDigit 检查输入是否全部为数字()// --------------// 功能:检查输入是否全部为数字// 传出结果: // *********************************************************************************** //function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false return true } // *********************************************************************************** //// function OpenDivMask()// --------------// 功能:打开遮挡层同时把下拉筐隐藏// 传出结果: // *********************************************************************************** //function OpenDivMask(){ var divMask = document.getElementById("DivMask"); if(!divMask){ divMask = document.createElement("div"); divMask.id = "DivMask"; divMask.style.display = "block"; divMask.style.top = divMask.style.left = divMask.style.margin = divMask.style.padding = "0px"; var screenWidth; var screenHeight; if(document.body.scrollHeight 0){ for (var i=0; i 0){ for (var i=0; i = 0){this.isOP = true;return;} s = "msie"; if ((i = ua.indexOf(s)) >= 0) {this.isIE = true;return;} s = "netscape6/"; if ((i = ua.indexOf(s)) >= 0) {this.isNS = true;return;} s = "gecko"; if ((i = ua.indexOf(s)) >= 0) {this.isNS = true;return;} s = "safari"; if ((i = ua.indexOf(s)) >= 0) {this.isSF = true;return;}}function CloseDivMask( DIV){ var objdiv = document.getElementById(DIV); if (objdiv) objdiv.style.display = "none"; var objDialog = document.getElementById("DivMask"); if (objDialog) objDialog.style.display = "none"; var allselect = gname("select"); for (var i=0; i <[a-zA-Z!]/g.test(val);}//Sample:post_to_url(window.location.href,{'pwd':'111111', 'username':'admin'});function post_to_url(path, params, formName) { //如果没有特别声明,自动创建一个 var form; if (formName == null) form = document.createElement("form"); else form = document.getElementById(formName); form.setAttribute("method", "post"); form.setAttribute("action", path); for(var key in params) { var hiddenField = document.createElement("input"); hiddenField.setAttribute("type", "hidden"); hiddenField.setAttribute("name", key); hiddenField.setAttribute("value", params[key]); form.appendChild(hiddenField); } document.body.appendChild(form); form.submit();}function CloseMsg(OpenMask){ var msgBox = document.getElementById('p_msgbox'); if (msgBox != null) msgBox.style.display = "none"; if (OpenMask != null) CloseDivMask();}function ShowMsg(Message,Title,LanType,OpenMask){ var closeTitle = "关闭"; var okText = "确 认"; if (LanType.toLowerCase()=="en-us") { closeTitle = "Close"; okText = "Confirm"; } var msgBox = document.getElementById('p_msgbox'); if (msgBox == null){ var boarddiv = " "; $(document.body).append(boarddiv); msgBox = document.getElementById('p_msgbox'); } var html = " "; html +="
"; msgBox.innerHTML = html; msgBox.style.display = ""; // 层窗口居中显示 MoveToCenter(msgBox); // 打开遮罩层 if (OpenMask) OpenDivMask();}// 获取窗口及浏览器的宽度和高度pageWidthHeight=function(){ return{ scrollTop:function(){return document.body.scrollTop||document.documentElement.scrollTop}, width:function(){return self.innerWidth||(document.documentElement.clientWidth||document.body.clientWidth)}, height:function(){return self.innerHeight||(document.documentElement.clientHeight||document.body.clientHeight)}, pageHeight:function(){ var d=document, b=d.body, e=d.documentElement; return Math.max(Math.max(b.scrollHeight,e.scrollHeight),Math.max(b.clientHeight,e.clientHeight)) }, pageWidth:function(){ var d=document, b=d.body, e=d.documentElement; return Math.max(Math.max(b.scrollWidth,e.scrollWidth),Math.max(b.clientWidth,e.clientWidth)) } }}();function MoveToCenter(box,width,height){ var cw=pageWidthHeight.width(); var ch=pageWidthHeight.height(); var sh=pageWidthHeight.scrollTop(); var sl=document.documentElement.scrollLeft; var boxw=(box.offsetWidth||500); if(parseInt(width)>0){ boxw=width>=500?500:width; } var boxh=(box.offsetHeight||230); if(parseInt(height)>0){ boxh=height>=230?230:height; } box.style.left='50%'; box.style.top=(parseInt(ch)/2+sh)+'px'; box.style.marginTop=-(parseInt(boxh)/2)+'px'; box.style.marginLeft=-(parseInt(boxw)/2)+'px';}//js获取url参数方法function GetUrlQuerystring(paras){ var url = location.href; var paraString = url.substring(url.indexOf("?")+1,url.length).split("&"); var paraObj = {} for (i=0; j=paraString[i]; i++){ paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length); } var returnValue = paraObj[paras.toLowerCase()]; if(typeof(returnValue)=="undefined"){ return ""; }else{ return returnValue; }} // *********************************************************************************** //// function IsContainsChinese(value)// -----------// 功能:字符是否是中文、全角字符// 作者:peggy 20120830 // 传入参数:// value:要进行检查的字符串// 返回值:true: 包含中文/全角字符 false:不包含// *********************************************************************************** //function IsContainsChinese(value) { var ch, i; for (i=0; i< value.length; i++){ ch = value.charCodeAt(i); if(ch<0) ch = ch + 65536; if(ch>255) return true; } return false;}// 禁用网址var forbiddenurl_array = new Array();//注意:网止全部小写forbiddenurl_array[0] = 'zhaopin.com';forbiddenurl_array[1] = 'chinahr.com';forbiddenurl_array[2] = 'cjol.com';forbiddenurl_array[3] = '58.com';forbiddenurl_array[4] = 'ganji.com';forbiddenurl_array[5] = 'dajie.com';forbiddenurl_array[6] = 'baijob.com';forbiddenurl_array[7] = '104china.com';forbiddenurl_array[8] = 'hirede.com';//forbiddenurl_array[9] = 'yingjiesheng.com';//modify by linsen.du 20140929 removeitforbiddenurl_array[9] = 'ganji.cn';forbiddenurl_array[10] = 'jobcn.com';forbiddenurl_array[11] = 'job168.com';forbiddenurl_array[12] = 'job001.cn';forbiddenurl_array[13] = 'an9.com';forbiddenurl_array[14] = 'zhaopin.cn';forbiddenurl_array[15] = 'chinahr.cn';// *********************************************************************************** //// function IsForbiddenUrl(value,type)// -----------// 功能:是否是禁用Url// 作者:peggy 20120830 // 传入参数:// value:要进行检查的字符串// type:验证类型 url--网址;email--邮箱// 返回值:true: 禁用网址 false:非禁用网址// *********************************************************************************** //function IsForbiddenUrl(value,type){ var val = trim(value); // 去2边空格 val = ToHalfCharacter(val); // 全角转半角 val = val.toLowerCase(); // 全转小写 if(type.toLowerCase() == "url") { // 判断前缀 if(val.indexOf('www.') == -1) { if(val.indexOf('http') == -1) { val = "http://"+val; } } // 判断网址是否禁用 for(var i = 0; i < forbiddenurl_array.length; i++) { if(val.indexOf('.'+forbiddenurl_array[i]) > -1) return true; if(val.indexOf('//'+forbiddenurl_array[i]) > -1) return true; } } else if(type.toLowerCase() == "email") { var pos = val.indexOf('@'); if(pos > -1) { val= val.substr(pos).toLowerCase(); } for(var i = 0; i < forbiddenurl_array.length; i++) { if(val.indexOf('@'+forbiddenurl_array[i]) > -1) return true; if(val.indexOf('.'+forbiddenurl_array[i]) > -1) return true; } } return false;}// *********************************************************************************** //// function ToHalfCharacter(val)// -----------// 功能:全角转半角// 作者:peggy 20120830 // 传入参数:// value:要进行检查的字符串// 返回值:转换后字符串// *********************************************************************************** //function ToHalfCharacter(val){ var result=""; for (var i = 0; i < val.length; i++){ if (val.charCodeAt(i)==12288){ result+= String.fromCharCode(val.charCodeAt(i)-12256); continue; } if (val.charCodeAt(i)>65280 && val.charCodeAt(i)<65375) result+= String.fromCharCode(val.charCodeAt(i)-65248); else result+= String.fromCharCode(val.charCodeAt(i)); } return result; } // *********************************************************************************** //// function isLegalName(str)// -----------// 功能:检查是否为合法字符// 作者:Lisa Chen 2012-09-03 // 传入参数:str要检查的字符串// 返回值:bool// *********************************************************************************** //function isLegalName(str){ var str_use_sign = " #&()+-./\\,: —,、:()_[]《》"; var arr_use_sign = new Array(); for(var i=0;i"; html +=" " + Title + "
"; html +=" " + Message + " "; html +=" "; html +=" = 48 && code <= 57) return true; //大写字母 if(code >= 65 && code <= 90) return true; //小写字母 if(code >= 97 && code <= 122) return true; //中文 日文 韩文 if(code >= 12353 && code <= 65071) return true; //日文片假名小写 if(code >= 65328 && code <= 65439) return true; return false;}// *********************************************************************************** //// function in_arr(arr,val)// -----------// 功能:查看val是否存在于arr数组中// 作者:Lisa Chen 2012-09-03 // 传入参数:arr数组,val单个需检测的值// 返回值:bool// *********************************************************************************** //function in_arr(arr,val){ for(var i = 0; i < arr.length; i++) { if(arr[i] == val) return true; } return false;}/*字符串格式化方法 by huangpeng 20121127*/String.prototype.format = function() { var a = arguments; return this.replace(/\{(\d+)\}/g, function(e, f) { return a[f]; });}/*只允许输入数字(@param event:事件) by huangpeng 20121127*/function onlyNum(event) { event = event || window.event; if (!window.event) event.charCode == 35 || event.charCode == 45 || event.charCode == 0 || (event.charCode < 47 || event.charCode > 57) && event.preventDefault(); else if (! (event.keyCode == 35 || event.keyCode == 45)) if (event.keyCode < 47 || event.keyCode > 57) window.event.returnValue = !1;}/*返回对象 by huangpeng 20121127*/function getId() { var elements = new Array(); for (var i = 0; i < arguments.length; i++) { var element = arguments[i]; if (typeof element == 'string') element = document.getElementById(element); if (arguments.length == 1) return element; elements.push(element); } return elements;}/*定位鼠标到文本框最后(@param text:文本框) by huangpeng 20121127*/function posMouseToLast(text) { if (text && (text = getId(text))) { if (text.setSelectionRange) { text.setSelectionRange(text.value.length, text.value.length); text.focus(); } else { text.createTextRange && (text = text.createTextRange(), text.collapse(!1), text.select()); } }}/*弹层屏幕居中(@param id:弹层id[带#号]) by huangpeng 20121127*/function centerDialog(id) { if (id) { var a = $("div.ui-dialog").has("{0}".format(id)); a.css({ top: (($(window).height() - a.outerHeight()) / 2) + $(window).scrollTop() + "px", left: (($(window).width() - a.outerWidth()) / 2) + $(window).scrollLeft() + "px" }); }}/*自定义消息弹出框[alert、confirm] by huangpeng 20121127*/window.dialog = { cancel: "取消", id: 'dialogBox', title: "消息", sumbit: "确定", isCenter: true, /*警告弹出框(@param msg:提示信息,@param optIsAutoClose:是否自动关闭弹出层[2秒自动关闭][可选],@param optCallBack:回调函数[可选])*/ alert: function(msg, optIsAutoClose, optCallBack) { var a = this.init(), b = {}; b[this.sumbit] = function() { $(this).dialog('close'); }; a.dialog('option', 'buttons', b); a.dialog('option', 'close', function() { optCallBack && optCallBack(); }); a.html(msg).dialog('open'); optIsAutoClose && this.timeClose(); return !1; }, /*关闭弹出框*/ close: function() { $('#{0}'.format(this.id)).is(':visible') && $('#{0}'.format(this.id)).dialog('close'); this.t && clearTimeout(this.t); }, /*确认弹出框(@param msg:提示信息,@param optCallBack:回调函数[可选])*/ confirm: function(msg, optCallBack) { var a = this.init(), b = {}; b[this.sumbit] = function() { $(this).dialog('close'); optCallBack && optCallBack(); }; b[this.cancel] = function() { $(this).dialog('close'); }; a.dialog('option', 'buttons', b); a.dialog('option', 'close', null); a.html(msg).dialog('open'); }, init: function() { var a = $('#{0}'.format(this.id)), style = this.isCenter ? "text-align:center;padding:35px 0 0 0;": "padding:35px;"; a.length == 0 && (a = $(" ".format(this.id)).appendTo('body'), a.dialog({ title: this.title, bgiframe: !0, modal: !0, autoOpen: !1, draggable: !1, resizable: !1, width: 400, resizable: !1 })); return a; }, /*2秒后关闭弹出框*/ timeClose: function() { this.t = setTimeout(function() { dialog.close() }, 2E3); }}/*根据文本的字数是否超限制,增加...(@param value:文本,@param len:截取字段长度)*/function getSubBytes(value, len) { if (len && (getStrLength(value) > len)) { len -= 2; // 长度减少2 for (var j = 0, text = "", i = 0; i < value.length; i++) { value.charCodeAt(i) > 255 ? j += 2 : j++; if (j > len) return " {1}...".format(value.replace(/'/g, "´"), htmlEncode(text)); text += value.charAt(i); } } return htmlEncode(value);}/*编码文字(@param input:文字)*/function htmlEncode(input) { var div = document.createElement("div"); var text = document.createTextNode(input); div.appendChild(text); var output = div.innerHTML; div = null; return output;}//获得当前页面大小function getPageSize(){ var winH; if (window.innerHeight) { winH = window.innerHeight; } else if (document.documentElement && document.documentElement.clientHeight) { winH = document.documentElement.clientHeight; } else if (document.body) { winH = document.body.clientHeight; }; return { WinH: winH };}//设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离function getPageScroll(){ var y; if (window.pageYOffset) { y = window.pageYOffset; } else if (document.documentElement && document.documentElement.scrollTop) { y = document.documentElement.scrollTop; } else if (document.body) { y = document.body.scrollTop; }; return { Y: y };}//获取元素到顶部body的距离function getOffsetTop(el){ if(typeof(el)=="undefined") { return; } var t = el.offsetTop; while (el = el.offsetParent) { t += el.offsetTop; }; return t;}//添加事件function addEvent(el,type,fn){ if (window.addEventListener) { el.addEventListener(type, fn, false); } else if (window.attachEvent) { el.attachEvent('on' + type, fn); } else { el['on' + type] = fn; };}//添加事件function addEvent(el,type,fn){ if (window.addEventListener) { el.addEventListener(type, fn, false); } else if (window.attachEvent) { el.attachEvent('on' + type, fn); } else { el['on' + type] = fn; };}/** * 验证文件是否为图片 * @param {object} file[文件UI] * @param {object|null} out[输出对象] * @return boolean */function checkIsImage(file, out) { var IMAGE_EXT = 'BMP|GIF|JPG|JPEG|PNG', fileName = trim(file.value); out = out || {}; var lang = undefined == muti_language ? {}: muti_language; if (0 === fileName.length) { out.msg = lang.EMPTY_FILE; return ! 1; } var fileExtIndex = fileName.lastIndexOf('.'); if (fileExtIndex > -1) { var extend = fileName.substring(fileExtIndex + 1).toUpperCase(); if (in_arr(IMAGE_EXT.split('|'), extend)) { return ! 0; } } out.msg = lang.FILE_FORMAT_ERROR; return ! 1;}