/***************************************************** ** ** 高林 整理 2004年04月26号 ** ** ** ******************************************************/ var sotowerfunction_error_28="含有非法字符,复制被取消!"//892 var today = new Date(); var sError=""; String.prototype.trim = function(){ return this.replace(/(^\s*)|(\s*$)/g, ""); } String.prototype.ltrim = function(){ return this.replace(/^\s*/g,""); } String.prototype.rtrim = function(){ return this.replace(/\s*$/g,""); } function trim(){ if(arguments.length<1) return null; if(typeof(arguments[0])=="string") return arguments[0].replace(/(^\s*)|(\s*$)/g, ""); else return ""; } function ltrim(){ if(arguments.length<1) return null; if(typeof(arguments[0])=="string") return arguments[0].replace(/(^\s*)/g, ""); else return ""; } function removeDouHao(str){ if(str == "") return ""; if(str.substring(str.length-1)==","){ return str.substring(0,str.length-1); } } //字符去除左右空格函数 function rtrim(){ if(arguments.length<1) return null; if(typeof(arguments[0])=="string") return arguments[0].replace(/(\s*$)/g, ""); else return ""; } //数字校验函数 是否是数字 function __isNum(s) { var re = /^[0-9]+$/; return re.test(s); } //是否是Float function __isFloat(s) { if (__isNum(s)) return true; var re = /^[+|-]{0,1}\d*\.?\d+$/; return re.test(s); } //是否是科学计数法Float function __isEFloat(s) { var re = /^[+|-]{0,1}\d*\.[\.\d+]{0,1}\e[-|+]{0,1}\d+$/; return re.test(s); } //是否有特殊符号 function __isQuoteIn(s) { var re = /\"|\'|\“|\”|\‘|\’|\%|\$|\&|\¥|\……|\·|\—|\-|\——|\!|\!|\#|\@|\~|\^|\*|\,|\.|\,|\。|\?|\?|\;|\;|\:|\:|\{|\}|\\|\/|\[|\]|\(|\)|\+|\-|\、|\||\<|\>/; return re.test(s);//alert(re.test(s)) } //判断输入框中是否有特殊符号 add by luqixiang 2015-07-16 function __isQuoteInSearchText(s) { var re = /\%|\$|\&|\¥|\#|\~|\^|\/|\+|\<|\>/; return re.test(s);//alert(re.test(s)) } //整数 并且小于max,大于min 参数 对象object ,max,min function isIntegerMaxMin(ob,max,min){ var value=parseInt(ob.value); return ((value==ob.value)&&(valuemin)); } //是否是整数 参数 对象 function isInteger(ob,type){ //var value=parseInt(ob.value); //return (value==ob.value); if(type=="positive") return /^\+?\d+$/g.test(ob.value); else if (type=="negative") return /^-\d+$/g.test(ob.value); else return /^(?:-?|\+?)\d+$/g.test(ob.value); } //判断对象的值是否是数字 参数 对象 function checkNum(eSrc) { var value = eSrc.value; return __isNum(value); } //判断对象的值是否是小数数字 参数 对象 function checkFloat(eSrc) { var value = eSrc.value; return __isFloat(value); } //判断对象的值是否是科学计数数字 参数 对象 function checkEFloat(eSrc) { var value = eSrc.value; return __isEFloat(value); } //字符是否? function __isNumChar(ch) { return (ch >= '0' && ch <= '9'); } //是否是空格,转行等 function __isBlankChar(ch) { //去掉了'\v';20020522 return (ch == ' ' || ch == '\f' || ch == '\n' || ch == '\r' || ch=='\t'); } //获得字符串的长度 一个汉字占2个字节 function byteLength(str) { var re=/[\u4E00-\u9FA5]/g; if(re.test(str)) return str.length+str.match(re).length; else return str.length; } //校验字符长度公共函数 对象ob,最大长度maxLen,消息message function stringLengthCheck(ob,maxLen,message){ if(byteLength(trim(ob.value))>maxLen){ alert(message); return false; } return true; } //获得当前日期 function __getCurrentDate() { var date = new Date(); var year = ""+date.getFullYear(); var month = date.getMonth()+1; if(month<10){ month="0"+month;} var day = date.getDate(); if(day<10){ day = "0"+day;} return year+month+day; } //数学函数 格式化数据(截取小数四舍五入) 参数 对象值value,小数位 function __formatNum(value,scale){ var f = parseFloat(value); if(scale<0)scale=0; return f.toFixed(scale); } //数学函数 格式化数据 参数 对象值value,小数位 function __setScale( value , scale ) { if( isNaN( value ) || isNaN( scale ) || parseInt( scale ) < 0 ) return new String( value ) ; var strValue = new String( value ) ; var fValue = parseFloat( value ) ; var iScale = parseInt( scale ) ; if( iScale == 0 ) return new String( ( fValue < 0.0 ? "-" : "" ) + Math.round( Math.abs( fValue ) ) ) ; if( fValue == parseInt( strValue ) ) //传入的参数没有小数部分 { strValue = new String( parseInt( strValue ) ) + "." ; for( var i = 0 ; i < iScale ; i ++ ) strValue += "0" ; } else { var fDecimal = Math.abs( fValue - parseInt( strValue ) ) ; fDecimal = Math.round( fDecimal * Math.pow( 10 , iScale ) ) ; var strDecimal = new String( fDecimal ) ; //对于像 new String( Math.round( 0.07 * Math.pow( 10 , 2 ) ) ) == "7" but not "07" 这样的情况需要作以下补零处理 if( strDecimal.length < iScale ) { var iDecimalLength = strDecimal.length ; for( var i = 0 ; i < iScale - iDecimalLength ; i ++ ) strDecimal = "0" + strDecimal ; strValue = new String( parseInt( strValue ) ) + "." + strDecimal ; } //对于像 new String( Math.round( 0.995 * Math.pow( 10 , 2 ) ) ) == "100" 这样的情况需要作以下补零处理 else if( strDecimal.length > iScale ) { strValue = new String( parseInt( strValue ) + 1 ) ; strValue += "." ; for( var i = 0 ; i < iScale ; i ++ ) strValue += "0" ; } else strValue = new String( parseInt( strValue ) ) + "." + strDecimal ; } return strValue ; } //身份证的验证 参数 值 function __isIdCardNo(idcard) { var Errors=new Array( "验证通过!", "身份证号码位数不对!", "身份证号码出生日期格式错误或含有非法字符!", "身份证号码校验错误!", "身份证地区非法!" , "身份证号码中生日日期大于当前日期!" ); var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"} var idcard,Y,JYM; var S,M; var idcard_array = new Array(); idcard_array = idcard.split(""); if(area[parseInt(idcard.substr(0,2))]==null) {alert(Errors[4]);return false;} switch(idcard.length){ case 15: if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 )){ ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/; } else { ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/; } if(ereg.test(idcard)) {return true; } else {alert(Errors[2]);return false;} break; case 18: if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 )){ ereg=/^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式 } else { ereg=/^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式 } if(ereg.test(idcard)){ var yyyy =idcard.substr(6,4).toString(); var mm =idcard.substr(10,2).toString(); var dd =idcard.substr(12,2).toString(); var now=new Date(),year=now.getFullYear(),mon=now.getMonth()+1,day=now.getDate(); if(parseInt(day,10)<10) day= "0"+day; if(parseInt(mon,10)<10) mon= "0"+mon; var current = year.toString()+mon.toString()+day.toString(); var input= yyyy+mm+dd; if (input>current) {alert(Errors[5]);return false;} S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 + (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9 + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10 + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5 + (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8 + (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4 + (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2 + parseInt(idcard_array[7]) * 1 + parseInt(idcard_array[8]) * 6 + parseInt(idcard_array[9]) * 3 ; Y = S % 11; M = "F"; JYM = "10X98765432"; M = JYM.substr(Y,1); if(M == idcard_array[17]) {return true; } else {alert(Errors[3]);return false;} } else {alert(Errors[2]);return false;} break; default: {alert(Errors[1]);return false; } break; } } //校验金额是否合格 like 9.9999 function __checkMoney(str){ if (trim(str)==""){ sError=sotowerfunction_error_8; return false; } if(isNaN(trim(str))){ sError=sotowerfunction_error_9; return false; } var nreg = /(^[0-9]+$)|(^[0-9]+)(.[0-9]+$)/; var nr = str.match(nreg); if(nr==null){ sError=sotowerfunction_error_10; return false; }else{ return true; } } //通常金额是两位 like 9.99 function __checkMoneyFix(str,n){ if (trim(str)==""){ sError=sotowerfunction_error_8; return false; } if(isNaN(trim(str))){ sError=sotowerfunction_error_9; return false; } var nreg = /(^[0-9]+$)|(^[0-9]+)(.[0-9]+$)/; var nr = str.match(nreg); if(nr==null){ sError=sotowerfunction_error_10; return false; }else{ var index=str.indexOf(".")+1; var ss=str.substring(index); if(ss.length==n){ return true; }else{ return false; } } } //通常金额是两位 like 9.99 function __checkMoneyFixA(str,n){ if (trim(str)==""){ sError=sotowerfunction_error_8; return false; } if(isNaN(trim(str))){ sError=sotowerfunction_error_9; return false; } var nreg = /(^[0-9]+$)|(^[0-9]+)(.[0-9]+$)/; var nr = str.match(nreg); if(nr==null){ sError=sotowerfunction_error_10; return false; }else{ var index=str.indexOf(".")+1; if(index == 0) return true; var ss=str.substring(index); if(ss.length<=n){ return true; }else{ return false; } } } //校验邮箱 参数 对象.value function __checkEmail(email) { // a very simple email validation checking. // you can add more complex email checking if it helps var splitted = email.match("^(.+)@(.+)$"); if(splitted == null) return false; if(splitted[1] != null ) { var regexp_user=/^\"?[\w-_\.]*\"?$/; if(splitted[1].match(regexp_user) == null) return false; } if(splitted[2] != null) { var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/; if(splitted[2].match(regexp_domain) == null) { var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/; if(splitted[2].match(regexp_ip) == null) return false; }// if return true; } return false; } //checkbox 全选中 参数 checkbox的name, 是否ture,false function __checkAll(name,tf) { var a = document.getElementsByName(name); var n = a.length; for (var i=0; iintlen){ alert("整数位数长度不能超过"+intlen+"位"); return false; } }else if(m3.length==2){ var arr1=m3[0]; var arr2=m3[1]; if(arr1.length>intlen){ alert("整数位数长度不能超过"+intlen+"位"); return false; } if(arr2.length>floatlen){ alert("小数位数长度不能超过"+floatlen+"位"); return false; } } return true; } //checkbox 是否有选中 参数 checkbox的name 返回值为选中的 function __getBoxValue(name) { var a = document.getElementsByName(name); var n = a.length; if(n==0)return ""; var res=""; for (var i=0; i 12) { sError = sotowerfunction_error_14; return false; } return true; } //年份校验 function __checkStdYear(eSrc) { var value = eSrc.value; if (value.length != 4) { sError = sotowerfunction_error_12; return false; } if (!__isNum(value)) { sError = sotowerfunction_error_11; return false; } var year = value; var bReturn = __isLegalYear(year); return bReturn; } //121212 12点12分12秒 function __checkStdTime(eSrc) { var value = eSrc.value; if (value.length != 6) { sError = sotowerfunction_error_12; return false; } if (!__isNum(value)) { sError = sotowerfunction_error_16; return false; } var hour = value.substring(0,2); var minute = value.substring(2,4); var second = value.substring(4,6); var bReturn = __isLegalTime(hour, minute, second); return bReturn; } //年月日校验2004/05/01 function __checkSlashStdDate(eSrc) { var value = eSrc.value; if (value.length != 10) { sError = sotowerfunction_error_12; return false; } var re = /\d{4}\/\d{2}\/\d{2}/; if (!re.test(value)) { sError = sotowerfunction_error_17; return false; } var year = value.substring(0,4); var month = value.substring(5,7); var day = value.substring(8,10); var bReturn = __isLegalDate(year,month,day); if (false == bReturn) return false; return true; } //年月日校验2004-05-01 function __checkSlashStdDate2(eSrc) { var value = eSrc.value; if (value.length != 10) { sError = sotowerfunction_error_12; return false; } var re = /\d{4}\-\d{2}\-\d{2}/; if (!re.test(value)) { sError = sotowerfunction_error_17_1; return false; } var year = value.substring(0,4); var month = value.substring(5,7); var day = value.substring(8,10); var bReturn = __isLegalDate(year,month,day); if (false == bReturn) return false; return true; } //是否合法的日期?month 基于0 function __isLegalDate(year,month,day) { if(year < 0 || year > 9999) { sError = sotowerfunction_error_18; return false; } if(month < 1 || month > 12) { sError = sotowerfunction_error_14; return false; } if(day < 1) { sError = sotowerfunction_error_19; return false; } if (day > 31) { sError = sotowerfunction_error_20; return false; } if(month == 2) { if( __isLeapYear(year) ) { if(day > 29) { sError = sotowerfunction_error_21; return false; } } else { if(day > 28) { sError = sotowerfunction_error_22; return false; } } } else { var d1, m1=month; if(m1 > 7) m1 = m1 + 1; d1 = 30 + m1 % 2; if(day > d1) { sError = sotowerfunction_error_23 + d1 +sotowerfunction_error_24; return false; } } return true; } //是否是润年 function __isLeapYear(year) { if( ( year % 400 == 0) || (( year % 4 == 0) && (year % 100 != 0)) ) return true; else return false; } //是否合法的月? function __isLegalMonth(year,month) { if(year < 0 || year > 9999) { sError = sotowerfunction_error_18; return false; } if(month < 1 || month > 12) { sError = sotowerfunction_error_14; return false; } return true; } //是否合法的年? function __isLegalYear(year) { if(year < 0 || year > 9999) { sError = sotowerfunction_error_18; return false; } return true; } //是否是合法的时分秒 function __isLegalTime(hour, minute, second) { if(hour < 0 || hour > 23) { sError = sotowerfunction_error_25; return false; } if(minute < 0 || minute > 59) { sError = sotowerfunction_error_26; return false; } if (second < 0 || second > 59) { sError = sotowerfunction_error_27; return false; } return true; } /********************************* *判断是否是单字节a-zA-Z0-9_-之中 **********************************/ function isSingleFormat(str) { var singleFormat = /^[.a-zA-Z0-9_-]+$/; if(!singleFormat.test(str)) { return false; } return true; } /************************************** *判断是否是负数 ***************************************/ function checkNegative(arg){ if(isNaN(arg)){ if(arg.value<0){ return true; } return false; } if(arg*1<0){ return true; } return false; } //时间格式的检验 适合于20:30:59格式 function __checkTime(s){ var rs= /^\d{2}\:\d{2}\:\d{2}$/; if(!rs.test(s)){ return false; } var arr = s.split(":"); if(parseInt(arr[0])>24||parseInt(arr[1])>59||parseInt(arr[2])>59){ return false; } return true; } //比较开始日期和结束日期 baixch添加20050416 function __compareDate(startDate,endDate){ var startD = startDate.value; var endD = endDate.value; if(startD==endD){ return 0; } else if(startD>endD){ return -1 } else if(startDendD){ return -1 } else if(startD255 || ips[1]>255|| ips[2]>255 || ips[3]>255 ){ return false; } return true; } //检验中国邮编 只能是6位数字 function __checkChinaPostCode(s){ // var patrn=/^[1-9]{1}(\d){5}$/; var patrn=/^(\d){6}$/; // 修改平台方法,邮编第一位可以为0 if (!patrn.exec(s)){ return false; } return true ; } //判断字符串是否是固定电话号码字符串,若是则返回true,否则返回false function __isFixedTelephone(s){ return /^(\d{2,4}-)?((\(\d{3,5}\))|(\d{3,5}-))?\d{3,8}(-\d+)?$/g.test(s); } //判断字符串是否是手机电话号码字符串,若是则返回true,否则返回false function __isMobileTelephone(s) { return /^1(3\d|4\d|5\d|7\d|8\d|9\d)\d{8}$/g.test(s); // 修改平台方法,手机添加89 86 88号段 } //判断字符串是否是电话号码字符串,若是则返回true,否则返回false function __isTelephone(s) { return __isMobileTelephone(s) || __isFixedTelephone(s); } //判断字符串是否以字母开头,其他为字母和数字组合 function __checkCodeFormat(s) { return /^[A-Za-z][A-Za-z0-9_]{0,}$/g.test(s); } /** * XMLHTTP 提交 **/ //通过xmlhttp取值,返回字符串 function getHtmlStringByXmlhttp(url) { if(url==null) { alert(sotowerfunction_msg_5); return; } try { var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); if(xmlhttp==null) { alert(sotowerfunction_msg_6+ex.description); return ; } xmlhttp.open("POST",url,false); xmlhttp.send(); return xmlhttp.responseText; }catch(ex) { alert(sotowerfunction_msg_7+ex.description); return ""; } } function getArrayByXmlHttp(urll){ var values=getHtmlStringByXmlhttp(urll); if(values.indexOf("没有记录")>-1){ return -1; } var arr=new Array(); var obs=values.split("@|@"); for(var i=0;i= 1) event.returnValue = true; else if(byteLength(obj.value) > len - 1) event.returnValue = false; } function doSoTowerKeyDown() { // if(event.ctrlKey&&window.event.keyCode==90){ // return false; //} var obj = event.srcElement; // alert(obj); var len =null; if(obj.maxsize != null){ len = obj.maxsize; } setTimeout(function() { if( byteLength(obj.value) > len) { var oTR = window.document.selection.createRange(); //alert(realLocation(obj.value,len)-len); oTR.moveStart("character", realLocation(obj.value,len)-obj.value.length );//-1*( realLocation(obj.value,len) - len));//realLocation(obj.value,len) oTR.text = ""; } },1); } /******************************************************************* * @author zhengjie * * 在复制粘贴过程中,加入如下步骤,通过获取剪贴板中内容判断其长度是否超出maxLength * 如果超出,则先截取,再粘贴。从而控制Ctrl+z时的显示错误。 *******************************************************************/ function doSoTowerBeforePaste(){ event.returnValue = false; var ss = window.clipboardData.getData("text"); /******************************************************************* * @author Think * @date 2010-06-12 * 解决多次复制粘贴页面停止响应的问题。 * 解决复制其它的文件去文本框粘贴页面报错问题。 *******************************************************************/ if(ss==null){ return false; } var obj = event.srcElement; var oTR = obj.document.selection.createRange(); if(obj.maxsize!=null){ var len = obj.maxsize; } if (byteLength(ss)>len){ var i=0; var sum=0; while(sum0)&&(byteLength(str)>byteLength(oTR.text))){ var i=0; var sum=0; while(sum<(len-byteLength(obj.value)+byteLength(oTR.text))){ sum = sum + byteLength(str.charAt(i)); /** * @author xiewl * @date 2010.6.24 * @当复制内容长度为0时,while就成了死循环,出现这种情况就让默认加1,也就是说所复制的内容通过验证时内容都不符合的情况。str为复制的内容。 * */ if(sum==(sum + byteLength(str.charAt(i)))){sum++;} i++; } oTR.text = window.clipboardData.getData("Text").substring(0,i); } else{ oTR.text=""; oTR.text = window.clipboardData.getData("Text").substring(0,iInsertLength); } // oTR.text = window.clipboardData.getData("Text").substring(0,iInsertLength); setTimeout(function() { if( byteLength(obj.value) > len) { // alert(byteLength(obj.value)); var oTR = obj.document.selection.createRange(); oTR.moveStart("character", realLocation(obj.value,len)-obj.value.length );//-1*( realLocation(obj.value,len) - len));//realLocation(obj.value,len) oTR.text = ""; } },1); } function doSoTowerDrop() { event.returnValue = false; } function realLocation(value,len){ var max=byteLength(value); var i=value.length-1;// alert(max+":"+len); while(max>len){ //alert("max:"+max); //alert("byteLength:"+byteLength(value.charAt(i))); max=max-byteLength(value.charAt(i)); // alert("max:"+max); i--; } return i+1; } //给文本域增加键盘按下对特殊字符的监控事件 function doHtmltextAreaValueCheck(){ var code; var character; if (document.all) //判断是否是IE浏览器 { code = window.event.keyCode; } else { code = arguments.callee.caller.arguments[0].which; } var character = String.fromCharCode(code); if(__isQuoteAreaInCheck(character)){ //alert("企图输入非法字符,请重新输入!"); if (document.all) { window.event.returnValue = false; } else { arguments.callee.caller.arguments[0].preventDefault(); } this.istextAreaValueCheck=true; } else this.istextAreaValueCheck=false; } //给文本域增加复制对特殊字符的监控事件 function doHtmltextAreaOnpasteCheck(){ var obj = event.srcElement; var ss = window.clipboardData.getData("Text") if(ss==null){return false;} if(__isQuoteAreaInCheck(ss)){ //此处可自行定义输出信息 alert(sotowerfunction_error_28); obj.focus(); this.istextAreaOnpasteCheck=true; return false; } else this.istextAreaOnpasteCheck=false; } //是否有特殊符号 function __isQuoteAreaInCheck(s) { //此处定义要过滤的特殊字符正则表达式,此处定义)为特殊字符 var reg = /\"|\'|\{/; return reg.test(s); } //给文本框增加键盘按下对特殊字符的监控事件 function doHtmltextValueCheck(){ var code; var character; if (document.all) //判断是否是IE浏览器 { code = window.event.keyCode; } else { code = arguments.callee.caller.arguments[0].which; } var character = String.fromCharCode(code); if(__isQuoteInCheck(character)){ //alert("企图输入非法字符,请重新输入!"); if (document.all) { window.event.returnValue = false; } else { arguments.callee.caller.arguments[0].preventDefault(); } this.istextValueCheck=true; } else this.istextValueCheck=false; } //给文本框增加复制对特殊字符的监控事件 function doHtmltextOnpasteCheck(){ var obj = event.srcElement; var ss = window.clipboardData.getData("Text") if(__isQuoteInCheck(ss)){ //此处可自行定义输出信息 alert(sotowerfunction_error_28); obj.focus(); this.istextOnpasteCheck=true; return false; } else this.istextOnpasteCheck=false; } //是否有特殊符号 function __isQuoteInCheck(s) { //此处定义要过滤的特殊字符正则表达式,此处定义_为特殊字符 var reg = /\"|\'|\{/; return reg.test(s); } //弹出最大窗口 function winopenmax(url) { width=window.screen.width; height=window.screen.height; var win=window.open(url,'my','width='+width+',height='+height+',top=0,left=0,fullscreen=0,toolbar=no,Status=no,menubar=no,location=no,scrollbars=no,resizable=no') win.focus(); //showModalDialog(url,window,'scroll:yes;status:no;dialogWidth:'+width+';dialogHeight:'+height+''); } //弹出最大窗口 function windowdialogmax(url) { width=window.screen.width; height=window.screen.height; showModalDialog(url,window,'scroll:yes;status:no;dialogWidth:'+width+';dialogHeight:'+height+''); } //弹出窗口居中,指定宽度及高度 ;scroll--是否有滚动条resize--是否可以最大最小化: 用yes和no 表示 function windowOpen(url,name,width,height,scroll,resize){ if ((parseInt(navigator.appVersion) >= 4 )) { xposition = ( window.screen.width - width)/2; yposition = (window.screen.height - height)/2; } var win=window.open(url,name,'width='+width+',height='+height+',top='+yposition+',left='+xposition+',fullscreen=0,toolbar=no,Status=no,menubar=no,location=no,scrollbars='+scroll+',resizable='+resize+'') win.focus(); return win; } //弹出窗口居中,指定宽度及高度 : scroll--是否有滚动条;resize--是否可以最大最小化。均是true可以,false不可以 function winopen700(url,width,height,scroll,resize) { if(!width) {width=700; height=700;} if(!scroll) scroll = 0; else scroll = 1; if(!resize) resize = ",resizable=0"; else resize = ",resizable=1"; var xposition = 0; var yposition = 0; if ((parseInt(navigator.appVersion) >= 4 )) { xposition = (window.screen.width - width) / 2; yposition = (window.screen.height - height) / 2; } var win = window.open(url, "other", "menubar=no" + resize + ",scrollbars=" + scroll + ",status=0,width=" + width + ",height=" + height + ",left=" + xposition + ",top=" + yposition); win.focus(); return win; } // function winopendir(url,w,h) { var xposition = 0; var yposition = 0; if ((parseInt(navigator.appVersion) >= 4 )) { xposition = (window.screen.width - w) / 2; yposition = (window.screen.height - h - 25) / 2; } win=window.open(url,'','width='+w+',height='+h+',fullscreen=0,toolbar=no,Status=no,menubar=no,location=no,scrollbars=yes,resizable=yes' + ',left=' + xposition + ',top=' + yposition); win.focus(); } var __$win = null; window.onfocus = function() { try{ if(typeof __$win.document == "unknown") return; if(__$win) { if(confirm("提示:\n\n您是否要进行其它操作,并关闭子窗口?")) { __$win.close(); __$win = null; } else __$win.focus(); } } catch (error) {} } //检查输入的字符是否非法字符 add by HJun 20091104 function __checkInputChar(s) { var re = /\"|\'|\“|\”|\‘|\’|\%|\&|\¥|\……|\—|\——|\!|\!|\#|\~|\^|\*|\。|\?|\?|\;|\;|\:|\:|\{|\}|\\|\/|\[|\]|\+|\||\<|\>/; return re.test(s);//alert(re.test(s)) } /**检测用户输入的字符是否存在非法字符 add by HJun 20091104 */ function checkSpecialChars(froms) { var inputValue= ""; var specialArray; //form表单的个数 var len = document.forms.length; if (len > 0) { //检查所有表单数据 for(var i=0;i 0) { //检查所有表单数据 for(var i=0;i-1){ return false; } } return true; } //将符号转换成代码 //和“src/com/cepri/cmm/utils/StringUtil.java”里的方法“HtmlTag2String()”是一对,需要一起修改 function tag2code(tagStr){ tagStr = tagStr.replace(//g,"-gt;").replace(/&/g,"-amp;"); return tagStr; } //检查<、>、&、"、'、?六个符号 function checkupSixTag(str){ var re = /\"|\'|\&|\?|\<|\>/; return re.test(str);//alert(re.test(s)) } /* * add by suwen on 2009-11-26 * 显示或隐藏 */ function isHide__(obj) { var hideTab = obj.parentElement.parentElement.parentElement.parentElement; var searchTab = hideTab.nextSibling; with(searchTab.style) { switch(parseInt(obj.innerText)) { case 6: obj.innerText = 5; display = ''; with(hideTab.style) { cursor = 'hand'; borderBottom = '1px solid #a8b8a4'; } break; case 5: obj.innerText = 6; display = 'none'; with(hideTab.style) { cursor = 'hand'; borderBottom = '0px'; } } } } //张磊2013-7-12增加判断上传附件时特殊字符控制 function checkFileNoChar(str,sysChar){ //var sysChar=">AA-1){ return false; } } return true; } /** * 判断html标签输入的字符是否存在特殊字符 * @param htmlElement * @param sysChar * @return */ function checkHtmlElementChar(htmlElement, sysChar) { if (sysChar == undefined || sysChar == null || sysChar.length == 0) { return true; } if(htmlElement == undefined || htmlElement == null){ return true; } var htmlElementValue = ""; if (htmlElement.type == "text" || htmlElement.type == "textarea") { htmlElementValue = htmlElement.value; if (!checkNoChar(htmlElementValue,sysChar)) { return false; } } return true; } function checkHtmlElementCharForTree(htmlElement, sysChar) { if (sysChar == undefined || sysChar == null || sysChar.length == 0) { return true; } if(htmlElement == undefined || htmlElement == null){ return true; } var htmlElementValue = ""; htmlElementValue = htmlElement.name; if (!checkNoChar(htmlElementValue,sysChar)) { return false; } return true; } //数字转换大写中文 function convertCurrency(currencyDigits) { // 常量: //最大限定值 var MAXIMUM_NUMBER = 999999999999.99; // 预定义输出的基数字符和货币符号: var CN_ZERO = "零"; var CN_ONE = "壹"; var CN_TWO = "贰"; var CN_THREE = "叁"; var CN_FOUR = "肆"; var CN_FIVE = "伍"; var CN_SIX = "陆"; var CN_SEVEN = "柒"; var CN_EIGHT = "捌"; var CN_NINE = "玖"; var CN_TEN = "拾"; var CN_HUNDRED = "佰"; var CN_THOUSAND = "仟"; var CN_TEN_THOUSAND = "万"; var CN_HUNDRED_MILLION = "亿"; var CN_SYMBOL = ""; //"人民币" var CN_DOLLAR = ""; //"元" var CN_TEN_CENT = "角"; var CN_CENT = "分"; var CN_INTEGER = ""; // 变量: var integral; // 整数 var decimal; // 小数 var outputCharacters; // 输出文字 var parts; var digits, radices, bigRadices, decimals; var zeroCount; var i, p, d; var quotient, modulus; // 验证输入字符串 currencyDigits = currencyDigits.toString(); if (currencyDigits == "") { alert("请输入小写金额!"); return ""; } if (currencyDigits.match(/[^,.\d]/) != null) { alert("小写金额含有无效字符!"); return ""; } if ((currencyDigits).match(/^((\d{1,3}(,\d{3})*(.((\d{3},)*\d{1,3}))?)|(\d+(.\d+)?))$/) == null) { alert("小写金额的格式不正确!"); return ""; } // 规范化的格式输入数字 currencyDigits = currencyDigits.replace(/,/g, ""); // Remove comma delimiters. currencyDigits = currencyDigits.replace(/^0+/, ""); // Trim zeros at the beginning. // 维护数量不能大于最大数量 if (Number(currencyDigits) > MAXIMUM_NUMBER) { alert("金额过大,应小于1000亿元!"); return ""; } // 从货币数字字符处理转化 // 整数和小数分开处理 parts = currencyDigits.split("."); if (parts.length > 1) { integral = parts[0]; decimal = parts[1]; //减少冗余在第二次的小数位数 decimal = decimal.substr(0, 2); }else { integral = parts[0]; decimal = ""; } //准备与数字对应的字符 digits = new Array(CN_ZERO, CN_ONE, CN_TWO, CN_THREE, CN_FOUR, CN_FIVE, CN_SIX, CN_SEVEN, CN_EIGHT, CN_NINE); radices = new Array("", CN_TEN, CN_HUNDRED, CN_THOUSAND); bigRadices = new Array("", CN_TEN_THOUSAND, CN_HUNDRED_MILLION); decimals = new Array(CN_TEN_CENT, CN_CENT); // 开始处理: outputCharacters = ""; // 判断整数部分的值大于0再处理 if (Number(integral) > 0) { zeroCount = 0; //用于计算中间位数是0的逻辑 for (i = 0; i < integral.length; i++) { p = integral.length - i - 1; //每个数字所在下标 d = integral.substr(i, 1); //截取的每个数字 quotient = p / 4; modulus = p % 4; //输入值为0,不做文字转化 if (d == "0") { zeroCount++; }else { //数值中间存在0 if (zeroCount > 0) { outputCharacters += digits[0]; //拼接"零" } zeroCount = 0; outputCharacters += digits[Number(d)] + radices[modulus]; //拼接数字和单位 } //增加大单位"万"或"亿" if (modulus == 0 && zeroCount < 4) { outputCharacters += bigRadices[quotient]; zeroCount = 0; } } outputCharacters += CN_DOLLAR; } // 如果存在小数部分 if (decimal != "") { for (i = 0; i < decimal.length; i++) { d = decimal.substr(i, 1); if (d != "0") { outputCharacters += digits[Number(d)] + decimals[i]; } } } // 确认并返回最终的输出字符串 //空值返回0+数字单位 if (outputCharacters == "") { outputCharacters = CN_ZERO + CN_DOLLAR; } if (decimal == "") { outputCharacters += CN_INTEGER; } outputCharacters = CN_SYMBOL + outputCharacters; return outputCharacters; } function doFuncWithPwCheck(flag, contextPath, dofn){ if("true" == trim(flag)){ var url = contextPath+"/appjsps/bid/accountmanager/second_password.jsp"; var returnPw = window.showModalDialog(url,"second_password", "dialogWidth=450px;dialogHeight=350px;resizable=no"); if(returnPw != undefined && returnPw!=""){ loading.show(true,86400); try{ $.ajax({ type:"POST", url:contextPath+"/secondPasswordCheckForm/checkpassword.so", data:{password:returnPw}, dataType:"text", success:function (checkResult){ if ("success"==checkResult) { loading.show(false,86400); dofn(); } else if("fails"==checkResult){ loading.show(false,86400); alert("用户密码确认失败"); }else{ loading.show(false,86400); alert(checkResult); } } }); }catch(e){ loading.show(false,86400); alert("#系统出错,请与管理员联系!"); } } } else { dofn(); } }