/* ================================================================= 基本说明 --前台属性设置 1> charset="Number" --为即时校验 2> datatype="Username" --整体效验 3> isnull=true --值是否可空 4> maxLength=16 --最大长度 5> minlength=1 --最小长度 6> tabIndex --tab跳转顺序 7>err --1为错误验证.0为验证正确.3需要后台读取传入方式为控件本身,标识有err属性为必须验证项 --前台调用 1>yz_int() --参数初始化 2>onclick="rz_tg()" --整休校验函数 true通过,false失败 初始化调用 -------------------------------------参数说明 ys[0]--为正确时的样式 ys[1]--错误时的样式 ys[2]--移入时的样式 ================================================================= */ var ys=[];//样式 ys[0]="err_01"; ys[1]="err_02"; ys[2]="err_03"; var firstInput; //跳转第一键 var endInput; //跳转最后一键 function rz_int() { addListener();//装载侦听器 } //表单整休校验函数 function checkFormInput() { var controlObj; var controlList=document.getElementsByTagName("input"); for(var i=0;icontrolObj.maxLength) { show_div(controlObj.id,"1此最多只能输入"+controlObj.maxLength+"个字符!"); controlObj.focus(); return false; } else { show_div(controlObj.id,"0正确"); } } if(controlObj.datatype!=null) //判断数据的类型,调用相关的数据校验函数 { var typeStr = controlObj.datatype; var tempMsg,er; try { tempMsg=eval("is"+typeStr+"(controlObj);");} catch (e) { tempMsg=typeStr+"需验证类型的正则不存在"; } if (tempMsg=="NaN") {tempMsg=typeStr+"需验证类型的正则不存在"; } if (tempMsg!=true) { show_div(controlObj.id,"1验证错误:"+tempMsg); controlObj.focus(); return false; } else { show_div(controlObj.id,"0"); } } } return true; } //----------------------------------------------判断控件的可见性 function isControlVisible(handle) { var retValue = true; //while(handle.tagName.toLowerCase()!='form' && handle.style.display.toLowerCase()!='none') { // handle = handle.parentElement; //} if(handle.style.display=='none') retValue = false; return retValue; } //-----------------------------------------------即时有效性判断入口 function checkInputChar(handle,keyCode) { var typeStr = handle.charset;//执行的事件 var tempMsg; try { tempMsg=eval("input"+typeStr+"(handle,keyCode);");} catch (er) { tempMsg="input"+typeStr+"校验类型不存在"; } if (tempMsg!=true) { show_div(handle.id,"1验证错误:"+tempMsg); } else { show_div(handle.id,"0正确"); } } //------------------------------------------------系统监听接口 function handleKeyDown(event) { //home键与end键定位第一个与最后一个输入域上 if(event.srcElement.type!="text" && event.srcElement.type!="textarea" && event.keyCode==36) { if(firstInput) firstInput.focus(); } if(event.srcElement.type!="text" && event.srcElement.type!="textarea" && event.keyCode==35) { if(endInput) endInput.focus(); } //处理回车切换焦点以及按钮与图片执行功能 if(event.keyCode==13 && event.srcElement.type!="button" && event.srcElement.type!="reset" && event.srcElement.type!="" && event.srcElement.type!="textarea") { if(event.srcElement.src) { if(event.srcElement.onclick) { event.srcElement.fireEvent("onclick"); return; } else { event.keyCode=9; return; } } else { event.keyCode=9; return; } } //处理图片按钮的快捷键 if(event.altKey && event.keyCode!=18) { var shortKey=String.fromCharCode(event.keyCode); var quickKey = ""; for(var i=0;i48 && event.keyCode<112) || (event.keyCode>127 && event.keyCode!=144)) checkInputChar(event.srcElement,event.keyCode); } } //------------------------------------------------------------------- //控件onfocus事件的侦听器 function onInputFocus(kj) { show_div(kj,"3"); } //控件onblur事件的侦听器 function onInputBlur(kj) { show_div(kj,"4"); } //控件onkeypress事件的侦听器 function onInputKeydown () { handleKeyDown(window.event); } //控件onPaste事件的侦听器 function onInputPaste () { return false; } //表单onSubmit事件的侦听器 function onFormSubmit () { return checkFormInput(window.event.srcElement); } //控件onMouseover事件的侦听器 function onInputMouseover (kj) { show_div(kj,"3"); } //控年onMouseout事件的侦听器 //function onInputMouseout () //{ // onInputBlur(); //} //为每个可输入控件装载侦听器 function addListener() { var inputList =document.getElementsByTagName("input"); if(inputList[0]) firstInput = inputList[0];//记录第一个键 for(var i=0;i输入正确"; } break; case "3"://获取焦点 if (document.getElementById(kj).err!="1") {return;} obj.className=ys[2]; if (obj.innerHTML.length<1) {obj.innerHTML=obj.text;} break; case "4"://移除 obj.className=""; break; case "1"://错误 obj.className=ys[1]; document.getElementById(kj).err="1"; if (err.length>1) { obj.innerHTML=obj.text+""+err.substring(1,err.length)+""; } break; } } //=============================================统计是否通过验证1没有验证通过0正确 function rz_tg() { checkFormInput();//先整体效验 var kj =document.getElementsByTagName("input"); for (var i=0;i=48&&keyCode<=57)||(keyCode>=96&&keyCode<=105))) { window.event.returnValue=false; return "必须输入数字!即如下字符:
1234567890"; } else return true; } //必须输入字母 function inputLetter(handle,keyCode) { if(!((keyCode>=97&&keyCode<=122)||(keyCode>=65&&keyCode<=90))) { window.event.returnValue=false; return "必须输入大小写字母!即如下字符:
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ"; } else return true; } //必须输入所有可见字符 function inputVisible(handle,keyCode) { var pattern = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.@><,-[]{}?/+=|\\\'\":;~!#$%()`"; var keyValue=String.fromCharCode(keyCode); if(keyCode==190) keyValue = "."; if(keyCode==189) keyValue = "-"; if(keyCode==188) keyValue = "<"; if(keyCode==219) keyValue = "["; if(keyCode==221) keyValue = "]"; if(keyCode==191) keyValue = "?"; if(keyCode==187) keyValue = "+"; if(keyCode==220) keyValue = "|"; if(keyCode==222) keyValue = "'"; if(keyCode==186) keyValue = ";"; if(keyCode==192) keyValue = "~"; if(pattern.indexOf(keyValue)!=-1) { window.event.returnValue=true; return true; }else{ window.event.returnValue=false; return "必须输入可见字符!即如下字符:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789.@><,-[]{}?/+=|\\\'\":
;~!#$%()`"; } } //必须输入字母与数字 function inputNormal(handle,keyCode) { var pattern = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; var keyValue=String.fromCharCode(keyCode); if(pattern.indexOf(keyValue)!=-1) { window.event.returnValue=true; return true; }else{ window.event.returnValue=false; return "必须输入可见字符!即如下字符:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789"; } } //================以下为校验函数区=======================// //函数名说明:is+TypeName,TypeName首字母大写 //参数handle为当前控件句柄 //参数keyCode为当前按钮的值 //返回说明:通过返回"",不通过返回不通过的原因描述 //格式支持例表 //参数:datatype 格式描述 格式说明 //Number 数字型 //Userid 用户ID //Username 用户名称 //Enterprisename 企业单位名称 //Loginname 登录名称 //Cardnumber 证件号码 //Address 地址 //Phone 电话号码 //Mobile 手机号码 //Postcode 邮政编码 //Email 电子邮件 //Namesimplicity 姓名简拼 //Namestr 名称字符串 //DescStr 描述字符串 //Pageurl 页面URL //Dirctory 磁盘路径 //ip ip //isem em验证 //date 日期校验 //Password 密码认证 //isDecimal 验证金额类型 //判断是否是数字 function isNumber(handle){ var pattern = /^(\d){1,14}$/; if (!pattern.exec(handle.value)) return "必须输入数字!"; return true; } //判断是否是用户账号 function isUserid(handle){ var pattern = /^(\d|\w){4,14}$/; if (!pattern.exec(handle.value)) return "必须输入数字
且长度需大于等于4位小于等于14位!"; return true; } //判断是否用户名称可以是字母也可以是中文 function isUsername(handle){ var pattern = /^[a-zA-Z\u4E00-\u9FA5]{2,50}$/; if (!pattern.exec(handle.value)) return "必须是中文字母或者数字
且长度需大于等于2位小于等于50位!" return true; } //判断是否是企业名称:可以是字母 数字 中文 - _ function isEnterprisename(handle){ var pattern = /^[a-zA-Z0-9-_\u4E00-\u9FA5]{2,200}$/; if (!pattern.exec(handle.value)) return "必须是中文字母或者数字
且长度需大于等于2位小于等于200位!"; return true; } //判断是否是登录名称 function isLoginname(handle){ var pattern = /^([a-z]|[A-Z]|[0-9]){6,25}$/; if (!pattern.exec(handle.value)) return "必须是字母或者数字
且长度需大于等于6位小于等于25位!"; return true; } //判断是否是证件号码 function isCardnumber(handle){ var pattern; pattern = /^(\d){5,18}$/; if (!pattern.exec(handle.value)) return "必须是数字
且长度需大于等于5位小于等于16位!"; return true; } //地址 function isAddress(handle){ var pattern = /^[a-zA-Z0-9\u4E00-\u9FA5]{2,200}$/; if (!pattern.exec(handle.value)) return "必须是中文字母或者数字
且长度需大于等于2位小于等于200位!"; return true; } //联系电话 function isPhone(handle){ var pattern = /^(\d){6,30}$/; if (!pattern.exec(handle.value)) return "必须是数字
且长度需大于等于6位小于等于30位!"; return true; } //手机 function isMobile(handle){ var pattern = /^[1][3](\d){9}$/; if (!pattern.exec(handle.value)) return "手机号码不对:必须是数字
且首两位是13长度是11位!"; return true; } //邮编 function isPostcode(handle){ var pattern = /^(\d){6}$/; if (!pattern.exec(handle.value)) return "必须是数字
且长度需是6位!"; return true; } //email function isEmail(handle){ var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/; if (!pattern.exec(handle.value)) return "必须符合电子邮件地址格式"; return true; } //简拼 function isNamesimplicity(handle){ var pattern = /^([a-zA-Z]){2,25}$/; if (!pattern.exec(handle.value)) return "必须是字母
且长度需大于等于2位小于等于25位!"; return true; } //密码 function isPassword(handle) { var pattern = /^([a-zA-Z]|[0-9]){6,25}$/; if (!pattern.exec(handle.value)) return "必须是字母或者数字
且长度需大于等于6位小于等于25位!"; if (handle.value!=document.getElementById(handle.id+"1").value) return "两次输入的密码不一致"; return true; } //判断是否是名称:可以是字母 数字 中文 - _ function isNamestr(handle) { var pattern = /^[a-zA-Z0-9-_\u4E00-\u9FA5]{1,40}$/; if (!pattern.exec(handle.value)) return "必须是中文字母或者数字
且长度需大于等于1位小于等于40位!"; return true; } //判断是否是描述信息:可以是字母 数字 中文 - _ , . function isDescstr(handle) { var pattern = /^[a-zA-Z0-9-_,.\u4E00-\u9FA5]{1,50}$/; if (!pattern.exec(handle.value)) return "必须是中文字母或者数字
且长度需大于等于1位小于等于50位!"; return true; } //页面URL function isPageurl(handle) { var pattern = /^[a-zA-Z0-9-_,./\u4E00-\u9FA5]{1,80}$/; if (!pattern.exec(handle.value)) return "必须是中文字母或者数字
且长度需大于等于`位小于等于80位!"; return true; } //目录路径 function isDirctoryurl(handle) { var pattern = /^[a-zA-Z0-9-_,.\\u4E00-\u9FA5]{1,300}$/; if (!pattern.exec(handle.value)) return "必须是中文字母或者数字
且长度需大于等于1位小于等于300位!"; return true; } //高强度身份号码验证 function cidInfo(sId) { var aCity={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 iSum=0 var info="" if(!/^\d{17}(\d|x)$/i.test(sId))return false; sId=sId.replace(/x$/i,"a"); if(aCity[parseInt(sId.substr(0,2))]==null)return "Error:非法地区"; sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2)); var d=new Date(sBirthday.replace(/-/g,"/")) if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "Error:非法生日"; for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11) if(iSum%11!=1)return "Error:非法证号"; return aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女") } //ip认证 function isip(s){ var check=function(v){try{return (v<=255 && v>=0)}catch(x){return false}}; var re=s.split(".") return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false } //验证邮箱 function isem(s){ var pattern = /^([A-Za-z0-9])(\w)+@(\w)+(\.)(com|com\.cn|net|cn|net\.cn|org|biz|info|gov|gov\.cn|edu|edu\.cn)/; if (!pattern.exec(handle.value)) return "邮件格式出错!"; return true; } //验证日期 function isdate(s) { var pattern =/^(\d{4})([-])(\d{2})([-])(\d{2})/; if (!pattern.exec(handle.value)) return "日期格式不正确!\n正确格式为:2004-01-01"; return true; } //验证半角 function isyw(s) { var pattern =/^[\x00-\xff]*$/; if (!pattern.exec(handle.value)) return "你必须要在半角下输入"; return true; } //函数名:fucCheckNUM //功能介绍:检查是否为数字 //参数说明:要检查的数字 //返回值:true,false function isDecimal(NUM) { var i,j,strTemp; strTemp="0123456789."; if ( NUM.length== 0) return 0 for (i=0;icontrolObj.maxLength) { show_div(controlObj.id,"1此最多只能输入"+controlObj.maxLength+"个字符!"); //controlObj.focus(); return false; } else { show_div(controlObj.id,"0正确"); } } if(controlObj.datatype!=null) //判断数据的类型,调用相关的数据校验函数 { var typeStr = controlObj.datatype; var tempMsg,er; try { tempMsg=eval("is"+typeStr+"(controlObj);");} catch (e) { tempMsg=typeStr+"需验证类型的正则不存在"; } if (tempMsg=="NaN") {tempMsg=typeStr+"需验证类型的正则不存在"; } if (tempMsg!=true) { show_div(controlObj.id,"1验证错误:"+tempMsg); //controlObj.focus(); return false; } else { show_div(controlObj.id,"0"); } } return true; } //---------------------------------------------------------------------------- //-----------------------------------------js中根据url获取相应的值 function get_url_cs() { //var pageUrl=window.location.href; //截获url //location.search 获取url中包括?部份 var pageUrl=location.search; pageUrl=pageUrl.substring(pageUrl.lastIndexOf('?')+1); pageUrl=GetAscII(pageUrl); var xm=pageUrl.split("&"); var z=[]; for (var i=0;i