//-------常用js Function //------------start 已验证---------------// //定义报错信息 var MSG_ERR001="$1不能为空!"; var MSG_ERR002="$1的文字格式为$2!"; var MSG_ERR003="$1不能超过$2个字节!"; var MSG_ERR004="不能删除$1!!"; /** * alert : 弹出出错信息 * 引数 : sMsg 报错信息 * sParam1 引数1 * sParam2 引数2 * sParam3 引数3 * 返回值 : 无 */ function alertMSG(sMsg,sParam1,sParam2,sParam3) { //引数1的替换 if ( sParam1 ) { sMsg = sMsg.replace( "$1", sParam1 ); } //引数2的替换 if ( sParam2 ) { sMsg = sMsg.replace( "$2", sParam2 ); } //引数3的替换 if ( sParam3 ) { sMsg = sMsg.replace( "$3", sParam3 ); } //Message表示 alert( sMsg ); } /** * cmConfirm:弹出确认信息 * 引数 : sMsg 报错信息 * sParam1 引数1 * sParam2 引数2 * sParam3 引数3 * 返回值:true ok场合 * false cancel场合 */ function confirmMSG( sMsg, sParam1, sParam2, sParam3 ) { //引数1的替换 if ( sParam1 ) { sMsg = sMsg.replace( "$1", sParam1 ); } //引数2的替换 if ( sParam2 ) { sMsg = sMsg.replace( "$2", sParam2 ); } //引数3的替换 if ( sParam3 ) { sMsg = sMsg.replace( "$3", sParam3 ); } //Message表示 return confirm(sMsg); } /** * lTrim : 文字列左边空格去掉 * 引数 : oTarget 输入的文字列 * 返回值:返回去掉左边空格的文字列 */ function lTrim(oTarget) { var oResult = oTarget.replace( /^ */, "" ); return(oResult); } /** * rTrim : 文字列右边空格去掉 * 引数 : oTarget 输入的文字列 * 返回值:返回去掉右边空格的文字列 */ function rTrim(oTarget) { var oResult = oTarget.replace( / *$/, "" ); return(oResult); } /** * trim : 文字列左右两边空格去掉 * 引数 : oTarget 输入的文字列 * 返回值:返回去掉左右两边空格的文字列 */ function trim(oTarget) { var oResult; //去左边空格 oResult = lTrim(oTarget); //去右边空格 oResult = rTrim(oTarget); return(oResult); } /** * parseNum : format消除(数值) * 引数 : sVal 输入的文字列 * 返回值:format消除后的值 */ function parseNum( sVal ) { if( !sVal ) { return ""; } var sResult = new String( sVal ); sResult = sResult.replace(/^ *0*/,"") //去掉左边空格 .replace(/ +$/,"") //去掉右边空格 .replace(/^\\/,"") //金额 .replace(/,/g,"") //逗号 .replace(/\./g,"") //小数点 .replace(/-/g,""); //杠号 if ( isNaN( sResult )){ return ""; } if ( sResult == "" ) { return ""; } return eval( sResult ); } /** * chkInt : 整数的判断 * 引数 : oSrc 输入的文字列 * sMode 标志:1 -> 减号可以输入; 2 -> 减号不可以输入 * 返回值:true 整数 * false 整数以外 */ function chkInt( oSrc, sMode ) { var sVal = new String( oSrc ); if ( sMode == 1 ) { if ( sVal.match(/^([+-]?[0-9]{1,3}(,[0-9]{3})*)?$/) == null && sVal.match(/^([+-]?[0-9]+)?$/) == null ) { return false; } } else { if ( sVal.match(/^([0-9.]{1,3}(,[0-9.]{3})*)?$/) == null && sVal.match(/^([0-9.]+)?$/) == null ) { return false; } } return true; } /** * isDigit : 半角数字的判断 * 引数 : oSrc 输入的文字列 * 返回值:true 半角数字 * false 半角数字以外 */ function isDigit( oSrc ) { var sVal = new String( oSrc ); if ( sVal != "" ) { if ( sVal.match(/^[0-9]+$/) == null ) { return false; } } return true; } /** * isDigOrAlp : 半角英数字的判断 * 引数 : oSrc 输入的文字列 * 返回值:true 半角英数字 * false 半角英数字以外 */ function isDigOrAlp( oSrc ) { var sVal = new String( oSrc ); if ( sVal != "" ) { if ( sVal.match(/^[0-9A-Za-z]+$/) == null ) { return false; } } return true; } /** * isZenkaku : 全角文字列的判断 * 引数 : sVal 输入的文字列 * 返回值:true 全角文字列 * false 全角文字列以外 */ function isZenkaku( sVal ) { var iCode; for (var i = 0; i<sVal.length; i++) { iCode = sVal.charCodeAt (i); if ((iCode < 127 && iCode != 13 && iCode != 10) || (iCode >= 0xff61 && iCode <= 0xff9f)){ return false; } } return true; } /** * isHankaku : 半角文字列的判断 * 引数 : sVal 输入的文字列 * 返回值:true 半角文字列 * false 半角文字列以外 */ function isHankaku( sVal ) { var iLen = cmGetEBCDICLen( sVal ); if ( iLen == sVal.length ) { return true; } else { return false; } } /** * getEBCDICLen : 文字列的byte数取得 * 引数 : oSrc 输入的文字列 * 返回值:文字列的byte数 */ function getEBCDICLen( sVal ) { var iLen = 0; for ( var i = 0; i < sVal.length;i++) { var sChar = sVal.charAt( i ); if ( escape( sChar ).length > 3 ) { if ( sChar.charCodeAt( 0 ) >= 65382 && sChar.charCodeAt( 0 ) <= 65439 ) { iLen += 2; } else { iLen += 2; } } else { iLen += 1; } } return iLen; } /** * checkMailAddress : mail的判断 * 引数 : sVal 输入的文字列 * 返回值:true 正常 false 异常 */ function checkMailAddress(sVal) { for(var i=0;i<sVal.length;i++){ var ascii = sVal.charCodeAt(i); //'<':60,'>':62,'{':123,'}':125,':':58,';':59,'"':34,'\':92,'[':91,']':93 if(ascii == 60 || ascii == 62 || ascii == 123 || ascii == 125 || ascii == 58 || ascii == 59 || ascii == 34 || ascii == 92 || ascii == 91 || ascii == 93){ return false; } if(ascii<0 || ascii>255){ return false; } } var aVal = new Array(); aVal = sVal.split("@"); if(aVal.length != 2){ return false; }else{ if(aVal[0] == "" || aVal[1] == ""){ return false; } } return true; } /** * checkFieldValue : 输入值的判断 * 引数 : pFrame frame名 pForm form名 pField field名 pHissu 必须(1:必须) pLenMin 行数(n:min行数) pLenMax 行数(n:max行数) pAttr 属性('':全部文字,CN_AL:半角英数字....) pNm 项目名 pFieldFocus 出错时光标位置 pIndex 复数项目index * 返回值:true 正常 false 异常 */ function checkFieldValue(pFrame, pForm, pField, pHissu, pLenMin, pLenMax, pAttr, pNm, pFieldFocus, pIndex) { with (window.top.frames[pFrame].document.forms[pForm]) { var wData = ''; if (elements[pField].length){ wData = elements[pField][pIndex].value; } else{ wData = elements[pField].value; } //textarea的场合,去掉换行符 if (elements[pField].type == "textarea") { wData = wData.replace(/\r\n/g,""); } //文件名开头去掉路径 if (pAttr == "FILE" && wData != ""){ //去掉'\' if (wData.match(/^[\\]+$/) == null ) { var wDataArr = wData.split("\\"); if (wDataArr.length > 1){ wData = wDataArr[wDataArr.length-1]; } } } var iLen = getEBCDICLen(wData); //必须项check if (pHissu == 1) { if (!iLen){ cmAlert(MSG_ERR001, pNm); elements[pFieldFocus].focus(); return(false); } } if (pLenMax != 0) { if (iLen > pLenMax) { alertMSG(MSG_ERR003, pNm, pLenMax); elements[pFieldFocus].focus(); return(false); } } //属性check if (pAttr == "CN_AL"){ if (!isDigOrAlp(wData)) { alertMSG(MSG_ERR002, pNm, "半角英数字"); elements[pFieldFocus].focus(); return(false); } }else if (pAttr == "CN"){ if (!isDigit(wData)) { alertMSG(MSG_ERR002, pNm, "半角数字"); elements[pFieldFocus].focus(); return(false); } }else if(pAttr == "KJ"){ if(!isZenkaku(wData)){ alertMSG(MSG_ERR002, pNm, "全角文字"); elements[pFieldFocus].focus(); return(false); } }else if(pAttr == "MAL2"){ if(!checkMailAddress(wData)){ alertMSG(MSG_ERR002, pNm, "邮件地址"); elements[pFieldFocus].focus(); return(false); } } return(true); } } function isDate(str){ if(!str.match(/^\d{4}\-\d\d?\-\d\d?$/)){return false;} var ar=str.replace(/\-0/g,"-").split("-"); ar=new Array(parseInt(ar[0]),parseInt(ar[1])-1,parseInt(ar[2])); var d=new Date(ar[0],ar[1],ar[2]); return d.getFullYear()==ar[0] && d.getMonth()==ar[1] && d.getDate()==ar[2]; } //左边去空白 function testLtrim(sValue) { for (var i=0; i<=sValue.length; i++ ) { if(sValue.substring(i,i+1)!=" ") break; } return sValue.substring(i,sValue.length); } // 右邊去空白 function testRtrim(sValue) { for (var i=sValue.length; i>=0; i-- ) { if(sValue.substring(i-1,i)!=" ") break; } return sValue.substring(0, i); } // 左右邊去空白 function testAllTrim(sValue) { return testRtrim(testLtrim(sValue)); } //------------end 已验证---------------// //------------start 未验证---------------// //判断输入内容是否为空 function IsNull(){ var str = document.getElementById('str').value.trim(); if(str.length==0){ alert('对不起,文本框不能为空或者为空格!');//请将“文本框”改成你需要验证的属性名称! } } //判断日期类型是否为YYYY-MM-DD格式的类型 function IsDate(){ var str = document.getElementById('str').value.trim(); if(str.length!=0){ var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/; var r = str.match(reg); if(r==null) alert('对不起,您输入的日期格式不正确!'); //请将“日期”改成你需要验证的属性名称! } } //判断日期类型是否为YYYY-MM-DD hh:mm:ss格式的类型 function IsDateTime(){ var str = document.getElementById('str').value.trim(); if(str.length!=0){ 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) alert('对不起,您输入的日期格式不正确!'); //请将“日期”改成你需要验证的属性名称! } } //判断日期类型是否为hh:mm:ss格式的类型 function IsTime() { var str = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/ if(!reg.test(str)){ alert("对不起,您输入的日期格式不正确!");//请将“日期”改成你需要验证的属性名称! } } } //判断输入的字符是否为英文字母 function IsLetter() { var str = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^[a-zA-Z]+$/; if(!reg.test(str)){ alert("对不起,您输入的英文字母类型格式不正确!");//请将“英文字母类型”改成你需要验证的属性名称! } } } //判断输入的字符是否为整数 function IsInteger() { var str = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^[-+]?\d*$/; if(!reg.test(str)){ alert("对不起,您输入的整数类型格式不正确!");//请将“整数类型”要换成你要验证的那个属性名称! } } } //判断输入的字符是否为双精度 function IsDouble(val) { var str = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^[-\+]?\d+(\.\d+)?$/; if(!reg.test(str)){ alert("对不起,您输入的双精度类型格式不正确!");//请将“双精度类型”要换成你要验证的那个属性名称! } } } //判断输入的字符是否为:a-z,A-Z,0-9 function IsString() { var str = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^[a-zA-Z0-9_]+$/; if(!reg.test(str)){ alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称! } } } //判断输入的字符是否为中文 function IsChinese() { var str = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^[\u0391-\uFFE5]+$/; if(!reg.test(str)){ alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称! } } } //判断输入的EMAIL格式是否正确 function IsEmail() { var str = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; if(!reg.test(str)){ alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称! } } } //判断输入的邮编(只能为六位)是否正确 function IsZIP() { var str = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^\d{6}$/; if(!reg.test(str)){ alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称! } } } //判断输入的数字不大于某个特定的数字 function MaxValue() { var val = document.getElementById('str').value.trim(); if(str.length!=0){ reg=/^[-+]?\d*$/; if(!reg.test(str)){//判断是否为数字类型 if(val>parseInt('123')) //“123”为自己设定的最大值 { alert('对不起,您输入的数字超出范围');//请将“数字”改成你要验证的那个属性名称! } } } } Phone : /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/ Mobile : /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/ Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/ IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/ QQ : /^[1-9]\d{4,8}$/ //为上面提供各个JS验证方法提供.trim()属性 String.prototype.trim=function(){ return this.replace(/(^\s*)|(\s*$)/g, ""); } [input type="text" name="str" ] [input type="button" value=" 确定 " onClick=""]//onClick中写自己要调用的JS验证函数 //------------start 未验证---------------// //-------End 常用js Function