/** * 目前所支持的校验类型有: +-----------------------+---------------------------------------+-------------------------------------------------------+ | 类 型 | 校验函数 | 描 述 | +-----------------------+---------------------------------------+-------------------------------------------------------+ |isNull |f_check_isNull |输入可为空 | +-----------------------+---------------------------------------+-------------------------------------------------------+ |isNotNull |f_check_isNotNull |输入不能为空 | +-----------------------+---------------------------------------+-------------------------------------------------------+ |isPhone |f_check_phone |检查输入手机号码是否正确 | +-----------------------+---------------------------------------+-------------------------------------------------------+ |isEmail |f_check_email |检查输入对象的值是否符合E-Mail格式 | +-----------------------+---------------------------------------+-------------------------------------------------------+ |isZipcode |f_check_zipcode |判断是否为邮政编码 | +-----------------------+---------------------------------------+-------------------------------------------------------+ |isNumber |f_check_number |判断是否为数字 | +-----------------------+---------------------------------------+-------------------------------------------------------+ |isIdCard |f_check_idCard |检查输入身份证 | +-----------------------+---------------------------------------+-------------------------------------------------------+ |isLength |f_check_length |检查输入字符串长度 | +-----------------------+---------------------------------------+-------------------------------------------------------+ |isEnglish |f_check_english |检查输入是否为英文字符 | +-----------------------+---------------------------------------+-------------------------------------------------------+ |isChinese |f_check_chinese |检查输入是否为中文字符 | +-----------------------+---------------------------------------+-------------------------------------------------------+ */ /* * 判断是否为数字,是则返回true,否则返回false */ function f_check_number(obj) { if (/^\d+$/.test(Math.abs(obj.value))) { return true; } else { return false; } } /* * 判断是否为正整数,是则返回true,否则返回false */ function f_check_naturalnumber(obj) { var s = obj.value; if (/^[0-9]+$/.test( s ) && (s > 0)) { return true; } else { nui.alert("请输人正整数!"); return false; } } /* 判断是否为邮政编码 */ function f_check_zipcode(obj) { if(!f_check_number(obj)) return false; if(obj.value.length!=6) { return false; } return true; } /* 用途:检查输入对象的值是否符合E-Mail格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false */ function f_check_email(obj){ var myReg = /^([-_A-Za-z0-9\.]+)@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/; if(myReg.test( obj.value )) return true; return false; } /* 用途:检查输入手机号码是否正确 输入: s:字符串 返回: 如果通过验证返回true,否则返回false */ function f_check_phone(obj){ var regu =/(^[1][0-9]{10}$)|(^0[1][0-9]{10}$)/; var re = new RegExp(regu); if (re.test( obj.value )) { return true; } return false; } /* 用途:检查输入是否不能为空 输入: s:字符串 返回: 如果通过验证返回true,否则返回false */ function f_check_isNotNull(obj){ if (obj.value.trim() != "") { return true; } return false; } /* 用途:检查输入是否为空 输入: s:字符串 返回: 如果通过验证返回true,否则返回false */ function f_check_isNull(obj){ if (obj.value == "") { return true; } return false; } /* 用途:检查输入身份证 输入: s:字符串 返回: 如果通过验证返回true,否则返回false */ function f_check_idCard(obj){ var regu =/(^\d{15}$)|(^\d{17}[0-9Xx]$)/; var re = new RegExp(regu); if (re.test( obj.value )) { return true; } return false; } /* 用途:检查输入是否为英文字符 输入: s:字符串 返回: 如果通过验证返回true,否则返回false */ function f_check_english(obj){ var regu =/^[A-Za-z]+$/; var re = new RegExp(regu); if (re.test( obj.value )) { return true; } return false; } /* 用途:检查输入是否为中文字符 输入: s:字符串 返回: 如果通过验证返回true,否则返回false */ function f_check_chinese(obj){ var regu =/^[\u0391-\uFFE5]+$/; var re = new RegExp(regu); if (re.test( obj.value )) { return true; } return false; } /* 用途:检查输入字符串长度 输入: s:字符串 返回: 如果通过验证返回true,否则返回false */ function f_check_length(obj,mess){ if (obj.value.length <= parseInt(mess)) { return true; } return false; } function check_input(obj){ var check = obj.getAttribute('check'); var mes = obj.getAttribute('mes'); var ch = check.split('__'); var m = mes.split('__'); if(ch.indexOf('isNull')>=0 && f_check_isNull(obj)){ return true; } for (var j=0; j= 0 && spanObj.innerHTML.len() > dispLength) { spanObj.innerHTML = spanObj.innerHTML.leftByByte(dispLength-2)+"…"; } } } } // 计算字符串的字节长度,一个汉字作为2 String.prototype.len= function (){ var str=this; return str.replace(/[^\x00-\xff]/g, "**").length } // 获取String的左边指定字节数的子串 String.prototype.leftByByte = function (byteLen){ var str = this; if (str.len() <= byteLen || byteLen < 1) { return str; } var start = 0; var end = str.length; do{ var middle = parseInt((start + end) / 2); if (middle == start || middle == end) { break; } var middleByteLen = str.substring(0, middle).len(); if (middleByteLen < byteLen) { start = middle; } else if (middleByteLen > byteLen) { end = middle; } else{ break; } } while (start < end); return str.substring(0, middle); } //////////////////////////2013 11 1 wy添加 js如下 //注册时,用户名文本框获取焦点时的事件 function getUserNamePoint(){ document.getElementById("userNameInfo").innerHTML="4—20位,可使用英文(a-z)、数字(0-9)和下划线"; } //验证用户名(只能为数字、大小写字母和_) function checkUserName(obj,result) { var regex=/^[0-9A-Za-z_]{4,20}$/ if(obj.length>0){ if(obj.length>40){ document.getElementById("userNameInfo").innerHTML="用户名最长为20,请重新输入"; return false; }else{ if(regex.test(obj)){ if(!result){ document.getElementById("userNameInfo").innerHTML="该用户名已被注册"; return false; } document.getElementById("userNameInfo").innerHTML=''; return true; } } }else{ document.getElementById("userNameInfo").innerHTML="用户名为必填项!"; return false; } document.getElementById("userNameInfo").innerHTML="用户名不合法,请重新输入"; return false; } //注册时,昵称文本框获取焦点时的事件 function getNickNamePoint(){ document.getElementById("nickNameInfo").innerHTML=""; } //验证昵称(最大长度不能超过40字符) function checkNickName(obj) { if(obj.length>40){ document.getElementById("nickNameInfo").innerHTML="昵称长度过长,请检查重新输入!"; return false; } if(obj.length==0){ return true; } document.getElementById("nickNameInfo").innerHTML=""; return true; } //注册时,真实姓名文本框获取焦点时的事件 function getTrueNamePoint(){ document.getElementById("trueNameInfo").innerHTML=""; } //验证真实姓名(最大长度不能超过40字符) function checkTrueName(obj) { if(obj.length>40){ document.getElementById("trueNameInfo").innerHTML="真实姓名长度过长,请检查重新输入!"; return false; } if(obj.length==0){ document.getElementById("trueNameInfo").innerHTML="真实姓名为必填项!"; return false; } document.getElementById("trueNameInfo").innerHTML=""; return true; } function getPswdPoint(){ document.getElementById("pswd").innerHTML="8—30 位,至少包含英文字母大小写和数字,最好包含特殊字符"; } //修改密码的JS验证checkNewPswd function checkNewPswd(obj) { if(obj.length==0){ document.getElementById("pswd").innerHTML="密码不允许为空!"; //obj.focus(); return false; }else{ if(!(/^[0-9a-zA-Z]*$/g.test(obj))){ document.getElementById("pswd").innerHTML="密码输入不合法,请重新输入"; //obj.focus(); return false; } document.getElementById("pswd").innerHTML=""; return true; } } //验证密码是否合法 function checkPswd(obj) { if(obj.length==0){ document.getElementById("pswd").innerHTML="密码不允许为空!"; return false; }else if(obj.length>30){ document.getElementById("pswd").innerHTML="密码长度最长为30,请重新输入!"; return false; }else if(obj.length<8){ document.getElementById("pswd").innerHTML="密码长度至少8位,请重新输入!"; return false; }else{ ///^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*).{8,30}$/ 密码必须包含数字、小写字母、大写字母 ///^(?!\D+$)(?![^a-zA-Z]+$)\S{8,30}$/i 密码必须包含数字、字母 if(!/^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*).{8,30}$/.test(obj)){ document.getElementById("pswd").innerHTML="密码必须包含大写字母、小写字母和数字,请重新输入!"; return false; } } document.getElementById("pswd").innerHTML=""; return true; } //验证两次输入密码是否一致 function checkPswdSame() { var oldPswd = document.getElementById("userPswd").value; var secPswd = document.getElementById("surePassword").value; if(oldPswd.length>0){ if(oldPswd!=secPswd){ document.getElementById("secPswd").innerHTML="两次输入密码不一致"; return false; } }else{ document.getElementById("secPswd").innerHTML="密码不允许为空!"; return false; } document.getElementById("secPswd").innerHTML=""; return true; } //注册时,邮箱文本框获取焦点时的事件 function getEmailPoint(){ document.getElementById("emailInfo").innerHTML="E-mail用于您获取重要敏感信息,请务必如实填写您有效的E-mail地址"; } //验证电子邮箱 function checkEmail(strEmail,result) { var myreg = /^([a-zA-Z0-9]+[\_|_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/; if(strEmail.length>0){ if (myreg.test(strEmail)) { if(!result){ document.getElementById("emailInfo").innerHTML="该邮箱已被注册"; return false; } document.getElementById("emailInfo").innerHTML=""; return true; }else { document.getElementById("emailInfo").innerHTML="请输入合法的邮箱地址,只能包含字母、数字、下划线"; return false; } }else{ document.getElementById("emailInfo").innerHTML="邮箱不允许为空!"; return false; } return true; } //注册时,手机号文本框获取焦点时的事件 function getMobilePoint(){ document.getElementById("mobileInfo").innerHTML="请认真填写您的手机,方便与您联系"; } //验证手机号 function checkMobile(strMobile,result){ if(strMobile.length>0){ if(!(/^1[3|4|5|7|8][0-9]\d{4,8}$/.test(strMobile))){ document.getElementById("mobileInfo").innerHTML="请输入合法的手机号"; //strMobile.focus(); return false; }else{ if(!result){ document.getElementById("mobileInfo").innerHTML="该手机号已被绑定"; return false; } } }else{ return true; } document.getElementById("mobileInfo").innerHTML=""; return true; } //验证电话号码 function isTelNumber(String) { var myreg = /^(\d{3,4}-)?\d{7,9}$/g; if(!myreg.test(String)){ return false; } return true; } function checkTel(telNumber) { if(telNumber.length>0){ if(!isTelNumber(telNumber)) { document.getElementById("telInfo").innerHTML="请输入合法的电话号码"; return false; }else{ document.getElementById("telInfo").innerHTML=""; } } return true; } function bindEmailInfo(){ document.getElementById("bindEmail").innerHTML="验证邮箱"; } //验证邮箱(绑定至用户ID下) function bindEmail(o){ var result; var mark; var value = document.getElementById("semail").value; $.ajax({ url:"com.web.login.login.bindEmail.biz.ext", type:'POST', data:'email='+value, cache:false, async:false, dataType:'json', success:function(text){ result = text.result; if(result!=null&&result!=""){ nui.alert(result); mark=false; }else{ //time(o); document.getElementById("emailAddr").style.height="150px"; document.getElementById("bindEmail").innerHTML="
"+ "

系统已经向您的邮箱"+value+"发了一封验证邮件,请您登录邮箱,完成验证。

"+ "
"; //mark=true; } } }); //return mark; } function bindMobileInfo(){ document.getElementById("bindMobile").innerHTML="验证手机"; } //验证手机(绑定至用户ID下) function bindMobile(o){ var result; var mark; var value = document.getElementById("smobile").value; $.ajax({ url:"com.web.login.login.bindMobile.biz.ext", type:'POST', data:'mobile='+value, cache:false, async:false, dataType:'json', success:function(text){ result = text.result; if(result!=null&&result!=""){ nui.alert(result); mark=false; }else{ time(o); } } }); } function bindMobileAgain(){ //document.getElementById("mobileCode").innerHTML="

验证信息发送可能存在延迟,60 秒后,点击重新发送

"; var result; var mark; var value = document.getElementById("smobile").value; var code = document.getElementById("mobileCode").value; //var json = nui.encode({nodes:nodes}); $.ajax({ url:"com.web.login.login.checkMobileCode.biz.ext", type:'POST', data:{ mobile:value,mobileCode:code }, cache:false, async:false, dataType:'json', success:function(text){ result = text.result; if(result!=null&&result!=""){ nui.alert(result); }else{ nui.alert("验证成功!"); } } }); } var wait = 60; function time(o) { if (wait == 0) { //document.getElementById("mobileNo").style.border-bottom="none"; document.getElementById("mobileCode").style.display=""; document.getElementById("timeOut").innerHTML=wait; document.getElementById("sendCode").disabled=false; //o.value = "免费获取验证码"; wait = 60; } else { //document.getElementById("mobileNo").style.border-bottom="none"; document.getElementById("mobileCode").style.display=""; document.getElementById("timeOut").innerHTML=wait; document.getElementById("sendCode").disabled=true; //o.value = "重新发送(" + wait + ")"; wait--; setTimeout(function() { time(o); }, 1000); }; } function isCardNo(card) { // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; if(!reg.test(card)) { return false; } return true; } //判断输入字数 function keyupArea(obj,l){ var str=obj.value; var lens;//记录剩余字符串的长度 var realLength = 0; var len = str.length; var charCode = -1; for (var i = 0; i < len; i++) { charCode = str.charCodeAt(i); if (charCode >= 0 && charCode <= 128){ realLength += 1; } else{ realLength += 2; } } //return realLength; lens=Math.floor(((l*2)-realLength)/2); //限制字数Math.ceil(7/2) if(lens>=0){ document.getElementById("notice").innerHTML=lens; } else{ obj.value=subTextarea(str,l); nui.alert("您输入的内容已超出限制,最多可输入"+l+"字! 内容已被自动截断。"); document.getElementById("notice").innerHTML = 0; } } function subTextarea(str,l){ var i = 0; var realLength = 0; var len = str.length; var charCode = -1; for (i = 0; i < len; i++) { charCode = str.charCodeAt(i); if (charCode >= 0 && charCode <= 128){ realLength += 1; } else{ realLength += 2; } if(realLength == (l*2)){ break; } if(realLength == (l*2+1)){ i--; break; } } i++; return str.substring(0,i); } //判断输入字数 function checkTextareaLength(obj,l){ var str=obj.value; var lens;//记录剩余字符串的长度 var realLength = 0; var len = str.length; var charCode = -1; for (var i = 0; i < len; i++) { charCode = str.charCodeAt(i); if (charCode >= 0 && charCode <= 128){ realLength += 1; } else{ realLength += 2; } } if(realLength>l){ return false; } return true; } //我不知道部门判断 function checkOrg(){ var org = document.getElementById("orgId").value; if(org==0){ document.getElementById('checkDept').checked="true"; document.getElementById('orgName').value='我不知道部门' document.getElementById("btnEdit1").disabled=true; } } //勾选'我不知道部门' function isChooseDept(){ if(document.getElementById('checkDept').checked){ document.getElementById('orgName').value='我不知道部门' document.getElementById("orgId").value=0; document.getElementById("btnEdit1").disabled=true; }else{ document.getElementById('orgName').value='' document.getElementById("btnEdit1").disabled=false; orgids=null; } }