//String.prototype.Trim = function() { // return this.replace(/(^\s*)|(\s*$)/g, ""); //} function validateString(str) { //项目名和任务名不可以含特殊符号,如 \/:*?"<>| var pat = new RegExp("[^a-zA-Z0-9\_\u4e00-\u9fa5]", "i"); return pat.test(str) == true; } //例如:2003-12-05 function strShortDateTime(str) { var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); if (r == null) return false; var d = new Date(r[1], r[3] - 1, r[4]); return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]); } //长时间,形如 (2003-12-05 13:04:06) function strLongDateTime(str) { var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; var r = str.match(reg); if (r == null) return false; var d = new Date(r[1], r[3] - 1, r[4], r[5], r[6], r[7]); return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4] && d.getHours() == r[5] && d.getMinutes() == r[6] && d.getSeconds() == r[7]); } //短时间,形如 (13:04:06) function isLongTime(str) { var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/); if (a == null) { alert('输入的参数不是时间格式'); return false; } if (a[1] > 24 || a[3] > 60 || a[4] > 60) { alert("时间格式不对"); return false } return true; } //验证是否为数字 function isNumber(oNum) { if (!oNum) return false; var strP = /^\d+(\.\d+)?$/; if (!strP.test(oNum)) return false; try { if (parseFloat(oNum) != oNum) return false; } catch (ex) { return false; } return true; } //验证是否为金额 function isDigit(s) { var patrn = /^-?\d+\.{0,}\d{0,}$/; if (!patrn.exec(s)) { return false } else { return true } } //验证是否为空 function isNull(str) { var result = false; str = lrTrim(str); if (str.length == 0) { result = true; } return result; } //通过id获取当前对象 function g(objId) { return document.getElementById(objId); } //去除左右边空格 function lTrim(str) { if (str.charAt(0) == " ") { //如果字串左边第一个字符为空格 str = str.slice(1); //将空格从字串中去掉 //这一句也可改成 str = str.substring(1, str.length); str = lTrim(str); //递归调用 } return str; } //rTrim()去掉字串右边的空格 function rTrim(str) { var iLength; iLength = str.length; if (str.charAt(iLength - 1) == " ") { //如果字串右边第一个字符为空格 str = str.slice(0, iLength - 1); //将空格从字串中去掉 //这一句也可改成 str = str.substring(0, iLength - 1); str = rTrim(str); //递归调用 } return str; } //trim() 去掉字串两边的空格 function lrTrim(str) { return lTrim(rTrim(str)); } // 关闭当前页面 function f_Close() { window.close(); } function f_return(value) { window.history.back(); } // 页面最大化 function f_WindowMax() { self.moveTo(0, 0); self.resizeTo(screen.availWidth, screen.availHeight); } //弹出窗体居中 function f_Center(ll_Width, ll_Height) { var ll_Left; var ll_Top; var ls_Str; ll_Left = (screen.width - ll_Width) / 2 ll_Top = (screen.height - ll_Height) / 2 if (ll_Left < 0) { ll_Left = 0; } if (ll_Top < 0) { ll_Top = 0; } ls_Str = "left = " + ll_Left + ",top = " + ll_Top + ",width = " + ll_Width + ",height = " + ll_Height; return ls_Str; } function IsckA(obj, objname, len) { var str = document.getElementById(obj).value; if (str == "") { alert(objname + "不能为空"); document.getElementById(obj).focus(); return false; } if (len > 0) { if (str.length > len) { alert(objname + "长度不能超过" + len.toString() + "个字符"); document.getElementById(obj).focus(); return false; } } return true; } ///控件数据检查 function DataCheck(lo_obj, ls_Name, ls_Nothing, ls_X) { var i; var li_row; var larr_obj; var larr_Name; ll_return = 0; larr_obj = lo_obj.split("@@@@"); larr_Name = ls_Name.split("@@@@"); li_row = larr_obj.length; for (i = 0; i < li_row; i++) { ls_value = document.getElementById(larr_obj[i]).value; ls_value = lrTrim(ls_value); if (ls_value.length == 0) { ll_return = larr_Name[i] + ls_Nothing; document.getElementById(larr_obj[i]).focus(); } } return ll_return; } function f_onload() { self.resizeTo(550, 260) } ///控制回车聚焦button function f_EnterToTab() { // if ( window.event.keyCode == 13 ){ // if (window.event.srcElement.tagName.toLowerCase() == "button") // window.event.keyCode = 20; // else // window.event.keyCode = 9; // } //nothing to do } // // --------------------限制鼠标右键------------ // if (window.Event) // document.captureEvents(Event.MOUSEUP); // // function nocontextmenu() // { // event.cancelBubble = true // event.returnValue = false; // // return false; // } // // function norightclick(e) // { // if (window.Event) // { // if (e.which == 2 || e.which == 3) // return false; // } // else // if (event.button == 2 || event.button == 3) // { // event.cancelBubble = true // event.returnValue = false; // return false; // } // // } // // document.oncontextmenu = nocontextmenu; // for IE5+ // document.onmousedown = norightclick; // for all others //===================处理表格颜色显示=============================Begin function ShowTables(obj) { anole(obj, 1, '#E6EDF7', '#E7F0FF', '#8795F6', '#8CAAE7'); } function anole( str_tableid, // table id num_header_offset, // 表头行数 str_odd_color, // 奇数行的颜色 str_even_color, // 偶数行的颜色 str_mover_color, // 鼠标经过行的颜色 str_onclick_color // 选中行的颜色 ) { // 表格ID参数验证 if (!str_tableid) return alert(str_tableid + "表格不存在"); var obj_tables = (document.all ? document.all[str_tableid] : document.getElementById(str_tableid)); if (!obj_tables) return alert("ID为(" + str_tableid + ")不存在!"); // 设置个参数的缺省值 var col_config = []; col_config.header_offset = (num_header_offset ? num_header_offset : 0); col_config.odd_color = (str_odd_color ? str_odd_color : '#ffffff'); col_config.even_color = (str_even_color ? str_even_color : '#dbeaf5'); col_config.mover_color = (str_mover_color ? str_mover_color : '#6699cc'); col_config.onclick_color = (str_onclick_color ? str_onclick_color : '#4C7DAB'); // 初始化表格(可能多个表格用同一个ID) if (obj_tables.length) for (var i = 0; i < obj_tables.length; i++) tt_init_table(obj_tables[i], col_config); else tt_init_table(obj_tables, col_config); } function tt_init_table(obj_table, col_config) { var col_lconfig = [], col_trs = obj_table.rows; if (!col_trs) return; for (var i = col_config.header_offset; i < col_trs.length; i++) { // i 从 表头以下开始 col_trs[i].config = col_config; col_trs[i].lconfig = col_lconfig; col_trs[i].set_color = tt_set_color; col_trs[i].onmouseover = tt_mover; col_trs[i].onmouseout = tt_mout; col_trs[i].onmousedown = tt_onclick; col_trs[i].order = (i - col_config.header_offset) % 2; col_trs[i].onmouseout(); } } function tt_set_color(str_color) { this.style.backgroundColor = str_color; } // 事件操作 function tt_mover() { if (this.lconfig.clicked != this) this.set_color(this.config.mover_color); } function tt_mout() { if (this.lconfig.clicked != this) this.set_color(this.order ? this.config.odd_color : this.config.even_color); } function tt_onclick() { if (this.lconfig.clicked == this) { this.lconfig.clicked = null; this.onmouseover(); } else { var last_clicked = this.lconfig.clicked; this.lconfig.clicked = this; if (last_clicked) last_clicked.onmouseout(); this.set_color(this.config.onclick_color); } } //===================处理表格颜色显示=============================End function copyTableToExcel2(htmltable) { window.clipboardData.setData("Text", htmltable.outerHTML); try { var ExApp = new ActiveXObject("Excel.Application") var ExWBk = ExApp.workbooks.add() var ExWSh = ExWBk.worksheets(1) ExApp.DisplayAlerts = false ExApp.visible = true ExWBk.worksheets(1).Paste; } catch (e) { alert("您的电脑没有安装Microsoft Excel软件!") return false } } function copyTableToExcel(htmltable) { //拷贝 var oRangeRef = document.body.createTextRange(); oRangeRef.moveToElementText(htmltable); oRangeRef.execCommand("Copy"); //粘贴 try { var appExcel = new ActiveXObject("Excel.Application"); appExcel.Visible = true; appExcel.Workbooks.Add().Worksheets.Item(1).Paste(); //appExcel = null; } catch (e) { alert("使用此功能必须在浏览器中设置:Internet选项->安全->将本站加入“受信任的站点”。"); } } function exportToExcel(htmltable) { var oExcel = new ActiveXObject("Excel.Application"); var oBook = oExcel.Workbooks.Add; var oSheet = oBook.Worksheets(1); oExcel.Visible = true; for (var y = 0; y < htmltable.rows.length; y++) { for (var x = 0; x < htmltable.rows(y).cells.length; x++) { oSheet.Cells(y + 1, x + 1) = htmltable.rows(y).cells(x).innerText; } } oSheet.Rows(1).Font.Size = 12; oSheet.Rows(1).Font.Bold = true; oSheet.Rows(1).HorizontalAlignment = 3; oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(htmltable.rows.length, htmltable.rows(0).cells.length)).Borders(3).Weight = 2; //设置左边距 oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(htmltable.rows.length, htmltable.rows(0).cells.length)).Borders(4).Weight = 2; //设置右边距 oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(htmltable.rows.length, htmltable.rows(0).cells.length)).Borders(1).Weight = 2; //设置顶边距 oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(htmltable.rows.length, htmltable.rows(0).cells.length)).Borders(2).Weight = 2; //设置底边距 oSheet.Columns.AutoFit; oExcel.UserControl = true; oExcel = null; oBook = null; oSheet = null; } var popWin = null; var winCount = 0; var winName = "popWin"; function SetupPopWin(winURL, winWidth, winHeight, moveX, moveY, winFeatures) { CloseSetupWin(); if (SetupPopWin.arguments.length == 6) winFeatures = "," + winFeatures; else winFeatures = ""; x = (screen.width - winWidth) / 2; if (moveX != "") x = moveX; y = (screen.height - winHeight) / 2; if (moveX != "") y = moveY; popWin = window.open(winURL, "", "top=" + y + ",left=" + x + ",width=" + winWidth + ",height=" + winHeight + winFeatures + ",resizable=no,scrollbars=yes"); } function CloseSetupWin() { if (navigator.appName != "Microsoft Internet Explorer" || parseInt(navigator.appVersion) >= 4) { if (popWin != null) if (!popWin.closed) popWin.close(); } } function SetupModalWin(winURL, winWidth, winHeight, moveX, moveY, winFeatures) { x = (screen.width - winWidth) / 2; if (moveX != "") x = moveX; y = (screen.height - winHeight) / 2; if (moveX != "") y = moveY; var ret = window.showModalDialog(winURL, "", "top=" + y + ",left=" + x + ",width=" + winWidth + ",height=" + winHeight + winFeatures + ",resizable=no,scrollbars=yes"); return ret; } /** *功能说明:判断新的用户名是否合法 *description:新的用户名为:长度3-18个字母、下划线、数字组成, * 不能以下划线“_”或“__”开头或结尾的字符串。 *param:inputname 输入的用户名 *return true 或false */ function checkname(inputname) { var instr = trim(inputname); if (instr == "") return false; var ilength = instr.length; //if((ilength>10)||(ilength<3)) return false; for (i = 0; i < ilength; i++) { var mychar = instr.charAt(i); if (i == 0) { if (!((mychar >= 'a') && (mychar <= 'z')) && !((mychar >= 'A') && (mychar <= 'Z'))) { return false; } } else if (i == ilength - 1) { if (mychar == '_') { return false; } } else { if (!((('a' <= mychar) && (mychar <= 'z')) || ((mychar >= 'A') && (mychar <= 'Z')) || (('0' <= mychar) && (mychar <= '9')) || (mychar == '_') || (mychar == ".") || (mychar == "-")) || (instr.search("__") != -1)) { return false; } } } return true; } function checkpassword(num) { return (/^[A-Za-z0-9]+$/.test(num)); } /** *功能说明:检查是否为数字 *description:只能由 数字组成, *return true 或false */ //整数 function checkint(num) { return (/^(-|\+)?\d+$/.test(num)); } //大于0的整数 function checkintz(num) { return (/^\d+$/.test(num)); } //负整数的验证 function checkintf(num) { return (/^-\d+$/.test(num)); } function checknumber(num) { var numstr = num; var i = 0; k = 0 var numlength = numstr.length; for (i = 0; i < numlength; i++) { var temp = numstr.charAt(i); if (!(('0' <= temp) && (temp <= '9') || (temp == '.'))) { return false; } if (temp == '.') { k = k + 1; } if (k > 1) { return false; } } return true; } /** *功能说明:去掉空格 *trim:去掉左边的和右边的 *leftTrim:去掉左边的 *rightTrim:去掉右边的 *allTrim:去掉所有的 */ function trim(str) { var notValid = /(^\s)|(\s$)/; while (notValid.test(str)) { str = str.replace(notValid, ""); } return str; } function leftTrim(str) { var notValid = /^\s/; while (notValid.test(str)) { str = str.replace(notValid, ""); } return str; } function rightTrim(str) { var notValid = /\s$/; while (notValid.test(str)) { str = str.replace(notValid, ""); } return str; } function allTrim(str) { var notValid = /\s/; while (notValid.test(str)) { str = str.replace(notValid, ""); } return str; } //email的判断。 function ismail(mail) { return (new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail)); } //身份证的验证 function isIdCardNo(num) { if (isNaN(num)) { alert("输入的不是数字!"); return false; } var len = num.length, re; if (len == 15) re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/); else if (len == 18) re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/); else { alert("输入的数字位数不对"); return false; } var a = num.match(re); if (a != null) { if (len == 15) { var D = new Date("19" + a[3] + "/" + a[4] + "/" + a[5]); var B = D.getYear() == a[3] && (D.getMonth() + 1) == a[4] && D.getDate() == a[5]; } else { var D = new Date(a[3] + "/" + a[4] + "/" + a[5]); var B = D.getFullYear() == a[3] && (D.getMonth() + 1) == a[4] && D.getDate() == a[5]; } if (!B) { alert("输入的身份证号 " + a[0] + " 里出生日期不对"); return false; } } return true; } //将阿拉伯数字翻译成中文的大写数字 function NumToChinese(num) { if (!/^\d*(\.\d*)?$/.test(num)) { alert("错误的数字!"); return ""; } var AA = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"); var BB = new Array("", "拾", "佰", "仟", "萬", "億", "元", "", "角", "分"); var a = ("" + num).replace(/(^0*)/g, "").split("."), k = 0, re = ""; for (var i = a[0].length - 1; i >= 0; i--) { switch (k) { case 0: re = BB[7] + re; break; case 4: if (!new RegExp("0{4}\\d{" + (a[0].length - i - 1) + "}$").test(a[0])) re = BB[4] + re; break; case 8: re = BB[5] + re; BB[7] = BB[5]; k = 0; break; } if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0) re = AA[0] + re; if (a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k % 4] + re; k++; } re += BB[6]; if (a.length > 1) //加上小数部分(如果有小数部分) { for (var i = 0; i < a[1].length; i++) { if (i == 0) { re = re + AA[a[1].charAt(i)] + BB[8]; } else if (i == 1) { re = re + AA[a[1].charAt(i)] + BB[9]; } } } return re; } //电话号码的验证 function PhoneCheck(s) { var str = s; var reg = /(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/ return reg.test(str); } //跳转页面url为要跳转向哪个页面 function skip(url) { if (document.form1.topage.value == "") { alert("请输入你想跳转到第几页"); document.form1.topage.focus(); } else { window.location = url + "?Page=" + document.form1.topage.value; } } //限制文本框中只能输入数字否则提示出来 调用为:整数:onKeyPress="regInput(/^[0-9]*$/)" 小数:onKeyPress="regInput(/^[0-9]*\.{0,1}[0-9]{0,2}$/)"; function regInput(reg) { var srcElem = event.srcElement var oSel = document.selection.createRange() var srcRange = srcElem.createTextRange() oSel.setEndPoint("StartToStart", srcRange) var num = oSel.text + String.fromCharCode(event.keyCode) + srcRange.text.substr(oSel.text.length) event.returnValue = reg.test(num) } function thisprint() { var OLECMDID = 6; var PROMPT = 6; // 2 DONTPROMPTUSER var WebBrowser = ''; document.body.insertAdjacentHTML('beforeEnd', WebBrowser); WebBrowser1.ExecWB(OLECMDID, PROMPT); WebBrowser1.outerHTML = ""; } //--return date function toDay() { d = new Date(); // 创建 Date 对象。 s = d.getYear(); // 获取年份。 c = d.getMonth() + 1; // 获取月份。 if (c < 10) { s += "-0" + c; } else { s += "-" + c; } e = d.getDate(); // 获取日。 if (e < 10) { s += "-0" + e; } else { s += "-" + e; } return (s); // 返回日期。 } //短时间,形如 (13:04:06) function isTime(str) { var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/); if (a == null) { alert('输入的参数不是时间格式'); return false; } if (a[1] > 24 || a[3] > 60 || a[4] > 60) { alert("时间格式不对"); return false; } return true; } //验证短日期,形如 (2003-12-05) function isDate(str) { var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); if (r == null) return false; var d = new Date(r[1], r[3] - 1, r[4]); return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]); } //长时间,形如 (2003-12-05 13:04:06) function isDateTime(str) { var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; var r = str.match(reg); if (r == null) return false; var d = new Date(r[1], r[3] - 1, r[4], r[5], r[6], r[7]); return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4] && d.getHours() == r[5] && d.getMinutes() == r[6] && d.getSeconds() == r[7]); } function getLength(s) { var k = 0; for (var i = 0; i < s.length; i++) { if (s.charCodeAt(i) > 255) k += 2; else k += 1; } return k; } //返回两个时间的天数:要求比较的时间的格式为:YYYY-MM-DD function better_time(strDateStart, strDateEnd) { strDateStart = strDateStart.replace("/", "-").replace("/", "-"); strDateEnd = strDateEnd.replace("/", "-").replace("/", "-"); var strSeparator = "-"; //日期分隔符 var strDateArrayStart; var strDateArrayEnd; var intDay; if (strDateStart == "" || strDateEnd == "") { //alert("ddddddd"); } strDateArrayStart = strDateStart.split(strSeparator); strDateArrayEnd = strDateEnd.split(strSeparator); var strDateS = new Date(strDateArrayStart[0] + "/" + strDateArrayStart[1] + "/" + strDateArrayStart[2]); var strDateE = new Date(strDateArrayEnd[0] + "/" + strDateArrayEnd[1] + "/" + strDateArrayEnd[2]); intDay = (strDateS - strDateE) / (1000 * 3600 * 24); return intDay; } function ShowProductSelector(ClientID) { showx = event.screenX - event.offsetX - 104; showy = event.screenY - event.offsetY + 18; var retval; retval = window.showModalDialog("../apply/dlgQueryProduct.aspx", "ProductSelect", "dialogWidth:639px; dialogHeight:395px; dialogLeft:" + showx + "px; dialogTop:" + showy + "px; status:no; directories:yes; scrollbars:no; Resizable=no; help: no;"); if (retval != null) { document.getElementById(ClientID).value = retval; } } function ShowLockSelector(ClientID) { showx = event.screenX - event.offsetX - 104; showy = event.screenY - event.offsetY + 18; var retval; retval = window.showModalDialog("../apply/QueryLock.aspx", "LockSelect", "dialogWidth:639px; dialogHeight:395px; dialogLeft:" + showx + "px; dialogTop:" + showy + "px; status:no; directories:yes; scrollbars:no; Resizable=no; help: no;"); if (retval != null) { document.getElementById(ClientID).value = retval; } } function ShowSemiFinishProductSelector(ClientID) { showx = event.screenX - event.offsetX - 104; showy = event.screenY - event.offsetY + 18; var retval; retval = window.showModalDialog("../apply/dlgQuerySemiFinishProduct.aspx", "SemiFinishProductSelect", "dialogWidth:639px; dialogHeight:395px; dialogLeft:" + showx + "px; dialogTop:" + showy + "px; status:no; directories:yes; scrollbars:no; Resizable=no; help: no;"); if (retval != null) { document.getElementById(ClientID).value = retval; } } function ShowCustomerSelector(ClientID) { ShowZommGride(ClientID, "../apply/dlgQueryCustomer.aspx", "CustomerSelect"); } function ShowZommGride(ClientID, url, name) { showx = event.screenX - event.offsetX - 104; showy = event.screenY - event.offsetY + 18; var retval; retval = window.showModalDialog(url, name, "dialogWidth:639px; dialogHeight:361px; dialogLeft:" + showx + "px; dialogTop:" + showy + "px; status:no; directories:yes; scrollbars:no; Resizable=no; help: no;"); if (retval != null) { document.getElementById(ClientID).value = retval; } }