/** *文件名: public.js *功能描述: 该Js 是所有整个系统公用的 *对外公开的方法: * 1、newWindow1() * 2、checklist() * 3、word() * 4、tofloat() * 5、checkNumFormat() * 6、keyd() * 7、checkInput() 这个方法放在form标签中 onsubmit="return checkInput(this);" *调用的js文件:public.js *调用的文件功能: *其他说明: 公共函数的调用方法: 1、在JSP或HTML中把该函数引入文件中 2、调用时直接在被调用的函数前加 window.util.functionName ; 如:调用打开窗口的函数则用 window.util.windowOpener1(参数)即可; 公用函数的添加: 1、需要描述函数功能 包括传入的参数 函数的作者 创建的日期 2、所有的函数都应加入到function util内 不允许 3、新增加的函数请按照编号依次向后增加 */ function util() { /********************************************************************************* * Title: * Description: 在链接中弹出指定大小的窗口 loadpos 传入窗口名称; w 传入窗口的宽度; h 传入窗口的长度; scr 是否显示滚动条“1”显示 “0”不显示; * Copyright: tjhq * Company: * @author: 袁旭光 * @modify: * @version: 1.0 */ var newWindow = null this.windowOpener1=function(loadpos,w,h,scr) { if (! newWindow || newWindow.closed) { newWindow = window.open(loadpos,"regclasswin","width="+w+",height="+h+",toolbar=0,menubar=0,resizable=0,scrollbars="+scr+",status=1,titlebar=0 ,status=no"); } else { newWindow.focus(); } } /** *新打开一个窗口 *@url 新打开的窗口url *@windowName,新开窗口的名字 *@width 新窗口宽度 *@height 新窗口高度 *@overFlow 是否滚动 "yes" "no" *@align 窗口水平对齐方式 left center right *@valign 窗口垂直对齐方式 top middle bottom */ this.openNewWindowAtWindowCenter = function(url,windowName,width,height,overFlow) { try { var screenWidth = document.body.offsetWidth-50;//window.screen.width; var screenHeight = document.body.offsetHeight;//window.screen.height; var newWindowTop = (screenHeight-height)/2; var newWindowLeft = (screenWidth-width)/2; window.open(url,windowName,"top="+newWindowTop+",left="+newWindowLeft+",width="+width+",height="+height+",status=no,toolbar=no,menubar=no,location=no,resizable=yes,scrollbars="+overFlow,"false"); } catch(ex){alert(ex.description);} } /********************************************************************************* * Title: * Description: 获得列表对象的内容并用分号隔开 * Copyright: * Company: tjhq * @author: 袁旭光 * @modify: * @version: */ this.checklist = function (form1,select,tempSelect) { var selectList=" "; //所选内容的类别 for(var k=0;k length) { alert(l_label+",内容长度不能大于"+length); l_child.focus(); return false; } } } if(l_child.nodeName.toLowerCase() == "input" && l_child.type=="file") { l_name = l_child.name; l_isNull = l_child.isnull; l_label = l_child.label; l_kind = l_child.kind; l_value = l_child.value; l_Decima = l_child.Decima l_FieldType = l_child.FieldType l_init = l_child.init; if(l_label == null && l_kind == null)continue;//不检查 if(l_label == null)label = ""; if(!validateInputIfHasProhibitedChar(l_value))return false; if(l_isNull == "false" && l_value == "") { alert(l_label+",必须填写!"); l_child.focus(); return false; } } if(l_child.nodeName.toLowerCase() == "input" && l_child.type!="file") { l_name = l_child.name; l_isNull = l_child.isnull; l_label = l_child.label; l_kind = l_child.kind; l_value = l_child.value; l_Decima = l_child.Decima l_FieldType = l_child.FieldType l_init = l_child.init; if(l_label == null && l_kind == null)continue;//不检查 if(l_label == null)label = ""; if(!validateInputIfHasProhibitedChar(l_value))return false; if(l_kind != "string_en3") { if(!prohibitBacklash(l_value))return false; } if(l_isNull == "false" && l_value == "") { alert(l_label+",必须填写!"); l_child.focus(); return false; } if(l_value.length > 0)//检查输入是否都是空格 { l_value = l_value.replace(/(^\s*)|(\s*$)/g, ""); if(l_value.length == 0) { alert(l_label+",不能全是空格!"); l_child.focus(); return false; } } if(l_kind == "uppercase") { for (var loop=0; loop "Z")){ alert(l_label+",必须为大写英文字母!"); l_child.focus(); return false; } } } //使用模式匹配,检查日期输入 if(l_value != null && l_value.length > 0) { if(l_kind == "string_en") { for(var loop=0;loop= 0) { alert(l_label+",内容不能有\\字符"); l_child.focus(); return false; } for(var i=0;i 12) { alert(l_label+",月份不能大于12!"); return false; } else { l_month = eval(l_month)-1; } var l_date = new Date(RegExp.$1,l_month,RegExp.$4); if(l_date.getDate() != RegExp.$4) { alert(l_label+",日期异常,格式必须是:yyyy-mm-dd!"); l_child.focus(); return false; } if(l_date.getMonth() != l_month) { alert(l_label+",月份异常,格式必须是:yyyy-mm-dd!"); l_child.focus(); return false; } } } else if(l_kind == "int") { var reg = /^(\d+)$/; var r = l_value.match(reg); var reg1 = /^-(\d+)$/; var r1 = l_value.match(reg1); if(r == null && r1 == null) { alert(l_label+",必须是整数!"); l_child.focus(); return false; } } else if(l_kind == "float") { var reg = /^(\d+)\.(\d+)$/; var reg1 = /^(\d+)$/; var r = l_value.match(reg); var r1 = l_value.match(reg1); if(r == null && r1 == null) { alert(l_label+",必须是数字!"); l_child.focus(); return false; } else { var l_maxLength = l_child.maxLength;//浮点数长度 var l_inputDecimalLength = (""+RegExp.$2).length;//用户输入的小数长度 var l_decimalLength = l_child.decimalLength;//规定输入的小数最长长度 var l_inputIntLength = (""+RegExp.$1).length;//用户输入的整数长度 if(l_inputDecimalLength != null && l_decimalLength != null && l_maxLength != null) { if(l_inputDecimalLength > l_decimalLength) { alert(l_label+",小数位数不能大于"+l_decimalLength+"!"); l_child.focus(); return false; } var l_intLength = l_maxLength-l_decimalLength-1;//规定输入的整数最长长度 if(l_inputIntLength > l_intLength) { alert(l_label+",整数位数不能大于"+l_intLength+"!"); l_child.focus(); return false; } } } } else if(l_kind == "currency") { var reg = /^(\d+)\.(\d+)$/; var reg1 = /^(\d+)$/; var r = l_value.match(reg); var r1 = l_value.match(reg1); if(r == null && r1 == null) { alert(l_label+",必须是数字!"); l_child.focus(); return false; } var t = l_value.trim().replace(/([-+]?[0-9]+\.?[0-9]{0,4})/,""); if(t.length != 0){ alert(l_label+" 的值必须是一个货币型的数值,\n 整数位最长9位,小数位最长2位!"); return false; } } else if(l_kind == "email") { //var reg = /^(\w+)@(\w+)\.(\w+)$/; var reg = /^([\w\-\.]+)@([\w\-]+)\.(([\w\-]+)(\.{0,1}))*$/; var r = l_value.match(reg); if(r == null) { alert(l_label+",必须符合电子邮件的规范输入,如xxx@yahoo.com"); l_child.focus(); return false; } } else if(l_kind == "tel")//电话 { var reg = /^(((\d+)-)*)((\d+)+)$/; var r = l_value.match(reg); if(r == null) { alert(l_label+",必须符合电话号码的规范输入,如010-11111111-111"); l_child.focus(); return false; } } }//end if l_value != null if(l_Decima == "DecimaLength") { if(l_child.value!=0 && l_child.value>6) { alert("小数位 最大尺寸不能超过6 \n 请重新输入【小数位】"); return false; } } if(l_FieldType == "NUMBER"){ if(l_child.value==0){ alert("请输入【字段长度】!\n \n注意:不能超过13位"); return false; }else{ if(l_child.value>13){ alert("数值型 字段位数不能超过13位!!\n \n请重新输入【长度】"); return false; } } }else if(l_FieldType == "VARCHAR2"){ if(l_child.value==0){ alert("请输入【字段长度】!\n \n 注意:不能超过255字节"); return false; }else{ if(l_child.value>254){ alert("文本型 字段不能超过254个字符!!"); return false; } } } if(l_init == "init"){ if(l_childs.FieldType.value == "NUMBER"){ if(l_childs.FieldLength.value==0){ alert("请输入【字段长度】!\n \n注意:不能超过13位"); return false; }else{ if(l_childs.FieldLength.value>13){ alert("数值型 字段长度不能超过13位!!\n \n请重新输入【长度】"); return false; } } }else if(l_childs.FieldType.value == "VARCHAR2"){ if(l_childs.FieldLength.value==0){ alert("请输入【字段长度】!\n \n 注意:不能超过255字节"); return false; }else{ if(l_childs.FieldLength.value>254){ alert("文本型 字段不能超过254个字符!!\n \n 请重新输入【长度】"); return false; } } } } } //alert("i="+i); }//end for } catch(ex){alert(ex.description);return false;} return true; } /**检查输入是否有敏感字符,如',等*/ function validateInputIfHasProhibitedChar(valueString) { if(valueString == null)return true; if(valueString.indexOf("'") >= 0) { alert("输入不能包括英文的字符'"); return false; } return true; } /**限制反斜杠*/ function prohibitBacklash(valueString) { if(valueString.indexOf("\\") >= 0) { alert("输入不能包括英文的字符\\"); return false; } return true; } function xmlInputCheck(valueString) { var permitedENchars = "&<>\",'"; if(valueString == null)valueString = ""; for(var i=0;i= 0) { alert("输入内容不能在["+permitedENchars+"]内"); return false; } } return true; } function show(){ document.getElementById("add").style.display = ""; document.getElementById("del").style.display = ""; } function hid(){ document.getElementById("add").style.display = "none"; document.getElementById("del").style.display = "none"; } function DupDo(Obj) { window.open("/viewtrade_basic.screen?category="+Obj,"","") } var strTemp="0123456789"; function checkNum(obj) { for(i=0;i orderMonth)) { var iDelim1 = orderMonth + MONTH.length; var iDelim2 = orderDay + DAY.length; var delim1 = datePattern.substring(iDelim1, iDelim1 + 1); var delim2 = datePattern.substring(iDelim2, iDelim2 + 1); if (iDelim1 == orderDay && iDelim2 == orderYear) { dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$"); } else if (iDelim1 == orderDay) { dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$"); } else if (iDelim2 == orderYear) { dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$"); } else { dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$"); } var matched = dateRegexp.exec(value); if(matched != null) { if (!isValidDate(matched[2], matched[1], matched[3])) { bValid = false; } } else { bValid = false; } } else if ((orderMonth < orderYear && orderMonth > orderDay)) { var iDelim1 = orderDay + DAY.length; var iDelim2 = orderMonth + MONTH.length; var delim1 = datePattern.substring(iDelim1, iDelim1 + 1); var delim2 = datePattern.substring(iDelim2, iDelim2 + 1); if (iDelim1 == orderMonth && iDelim2 == orderYear) { dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$"); } else if (iDelim1 == orderMonth) { dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$"); } else if (iDelim2 == orderYear) { dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$"); } else { dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$"); } var matched = dateRegexp.exec(value); if(matched != null) { if (!isValidDate(matched[1], matched[2], matched[3])) { bValid = false; } } else { bValid = false; } } else if ((orderMonth > orderYear && orderMonth < orderDay)) { var iDelim1 = orderYear + YEAR.length; var iDelim2 = orderMonth + MONTH.length; var delim1 = datePattern.substring(iDelim1, iDelim1 + 1); var delim2 = datePattern.substring(iDelim2, iDelim2 + 1); if (iDelim1 == orderMonth && iDelim2 == orderDay) { dateRegexp = new RegExp("^(\\d{4})(\\d{2})(\\d{2})$"); } else if (iDelim1 == orderMonth) { dateRegexp = new RegExp("^(\\d{4})(\\d{2})[" + delim2 + "](\\d{2})$"); } else if (iDelim2 == orderDay) { dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})(\\d{2})$"); } else { dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{2})$"); } var matched = dateRegexp.exec(value); if(matched != null) { if (!isValidDate(matched[3], matched[2], matched[1])) { bValid = false; } } else { bValid = false; } } else { bValid = false; } return bValid; } function isValidDate(day, month, year) { 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 leap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); if (day>29 || (day == 29 && !leap)) { return false; } } return true; } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i