常用的几个JS验证函数


//判断字段必填(传入参数如:select,input,textarea)
function submitcheckvalue(obj) {
 var j, i, obj, objs;
 var tagnames = obj.split(",");
 for (j = 0; j < tagnames.length; j++) {
  objs = document.all.tags(tagnames[j]);
  for (i = 0; i < objs.length; i++) {
   if ((objs[i].value == "" || objs[i].value == "0") && objs[i].type != "hidden") {
    alert("/u6570/u636e/u5f55/u5165/u4e0d/u5b8c/u6574/u6216/u5f55/u5165/u6570/u503c/u4e3a0/uff0c/u8bf7/u786e/u8ba4/u540e/u7ee7/u7eed!");
    objs[i].focus();
    return false;
   }
  }
 }
 return true;
}

//比较两个日期大小
function compareTwoDate(DateOne, DateTwo) {
 var OneMonth = DateOne.substring(5, DateOne.lastIndexOf("-"));
 var OneDay = DateOne.substring(DateOne.length, DateOne.lastIndexOf("-") + 1);
 var OneYear = DateOne.substring(0, DateOne.indexOf("-"));
 var TwoMonth = DateTwo.substring(5, DateTwo.lastIndexOf("-"));
 var TwoDay = DateTwo.substring(DateTwo.length, DateTwo.lastIndexOf("-") + 1);
 var TwoYear = DateTwo.substring(0, DateTwo.indexOf("-"));
 if (Date.parse(OneMonth + "/" + OneDay + "/" + OneYear) > Date.parse(TwoMonth + "/" + TwoDay + "/" + TwoYear)) {
  return true;
 } else {
  return false;
 }
}

//只能输入字母和数字
function isNumberOrLetter() {
 if (!((window.event.keyCode >= 65 && window.event.keyCode <= 90) || (window.event.keyCode >= 97 && window.event.keyCode <= 122) || (window.event.keyCode >= 48) && (window.event.keyCode <= 57))) {
  window.event.keyCode = 0;
 }
}

//只能输入汉字
function onlychinese() {
 if ((window.event.keyCode >= 32) && (window.event.keyCode <= 126)) {
  window.event.keyCode = 0;
 }
}

//只能输入数字(不包含 - . )
function JHshNumberText() {
 if (!(((window.event.keyCode >= 48) && (window.event.keyCode <= 57)) || (window.event.keyCode == 13) )) //包含 . 和 - 请添加 || (window.event.keyCode == 46) || (window.event.keyCode == 45)
 {
  window.event.keyCode = 0;
 }
}

//只能输入数字
function JHshNumberTextpoint() {
 if (!(((window.event.keyCode >= 48) && (window.event.keyCode <= 57)) || (window.event.keyCode == 13) || (window.event.keyCode == 46))) // || (window.event.keyCode == 45)
 {
  window.event.keyCode = 0;
 }
}

//只能输入汉字及字母
function onlyCNEN(obj) {
 var regu = "^[a-zA-Z/u4e00-/u9fa5]+$";
 var re = new RegExp(regu);
 if (re.test(obj.value)) {
  return true;
 }
 alert("/u53ea/u80fd/u8f93/u5165/u6c49/u5b57/u6216/u5b57/u6bcd");
 obj.value = "";
 obj.focus();
 return false;
}  

//判断是否包含中文
function isChineseNo(obj) {
 var name = obj.value;
 if (name.length == 0) {
  return false;
 }
 for (i = 0; i < name.length; i++) {
  if (name.charCodeAt(i) > 128) {
   alert("/u4e0d/u80fd/u5305/u542b/u6c49/u5b57");
   obj.value = "";
   obj.focus();
   return true;
  }
 }
 return false;
}

//校验double类型
function checkIsDouble(obj) {
 var str = obj.value;
 if (str == "") {
  return true;
 }
 if(/^[0-9]+$/.test(str))
  return true;
 var doublePat = /^(/d+)(.{1})(/d+)$/g;
 if (doublePat.test(str)) {
  return true;
 } else {
  alert("/u8f93/u5165/u6570/u636e/u4e0d/u5408/u6cd5/uff0c/u8bf7/u91cd/u65b0/u8f93/u5165");
  obj.value = "";
  obj.focus();
  return false;
 }
}

//校验是否仅中文
function isChinese(obj){
 var patrn = /[/u4E00-/u9FA5/uF900-/uFA2D]+$/;
 if(!patrn.test(obj.value)){
   alert("请您输入汉字!");
   return;
 }
 //return patrn.test(obj.value);
}

//判断是否为空
function (obj) {
 if (null == obj.value || "" == obj.value.trim()) {
  return true;
 } else {
  return false;
 }
}

 

 

//判断用户名:只能输入6-20个字母、数字、下划线(常用手校验用户名和密码)
function (obj) {
 var patrn = /^(/w){6,20}$/;
 return patrn.test(obj.value);
}

//判断电话号码
function isTelephone(obj) {
 var patrn = /^(0[/d]{2,3}-)?/d{4,8}(-/d{3,4})?$/;
 if(patrn.test(obj.value)){
    return true;
 }else{
     alert("您输入的电话号码不正确,请重新输入!");
     obj.value="";
     return;
 }
 //return patrn.test(obj.value);
}

 

 

 

//判断密码强度
//CharMode函数
//测试某个字符是属于哪一类.
 function CharMode(iN){
  if (iN>=48 && iN <=57) //数字
  return 1;
  if (iN>=65 && iN <=90) //大写字母
  return 2;
  if (iN>=97 && iN <=122) //小写
  return 4;
  else
  return 8; //特殊字符
 }
//bitTotal函数
//计算出当前密码当中一共有多少种模式
 function bitTotal(num){
  modes=0;
  for (i=0;i<4;i++){
  if (num & 1) modes++;
  num>>>=1;
  }
  return modes;
 }
//checkStrong函数
//返回密码的强度级别
 function checkStrong(sPW){
  if (sPW.length<=4)
  return 0; //密码太短
  Modes=0;
  for (i=0;i<sPW.length;i++){
  //测试每一个字符的类别并统计一共有多少种模式.
  Modes|=CharMode(sPW.charCodeAt(i));
 }
 return bitTotal(Modes);
 }
//pwStrength函数
//当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色

 

 function pwStrength(pwd){
  O_color="#eeeeee";
  L_color="#FF0000";
  M_color="#FF9900";
  H_color="#33CC00";
  if (pwd==null||pwd==''){
  Lcolor=Mcolor=Hcolor=O_color;
 }
 else{
  S_level=checkStrong(pwd);
  switch(S_level) {
  case 0:
  Lcolor=Mcolor=Hcolor=O_color;
  case 1:
  Lcolor=L_color;
  Mcolor=Hcolor=O_color;
  break;
  case 2:
  Lcolor=Mcolor=M_color;
  Hcolor=O_color;
  break;
  default:
  Lcolor=Mcolor=Hcolor=H_color;
 }
 }
  document.getElementById("strength_L").style.background=Lcolor;
  document.getElementById("strength_M").style.background=Mcolor;
  document.getElementById("strength_H").style.background=Hcolor;
  return;
 }

//校验密码强度  
   function showstrong(v)
    {
        var ty;
        ty=0;
        numm=v.length;
       
        nums=v.replace(/[^0-9]/g,'').length;
        numz=v.replace(/[^a-zA-Z]/g,'').length;
        numt=numm-numz-nums;
        if (v.length<5)
        {
            str='密码位数小于5位!';
            ty=0;
        }
        else
        {
            if(numz<3&&numz>0){ty=ty+1;}
            if(numz>=3){ty=ty+2;}
            if(nums<3&&nums>0){ty=ty+1;}
            if(nums>=3){ty=ty+2;}
            if(numt<2&&numt>0){ty=ty+1;}
            if(numt>=2){ty=ty+2;}
            if(numm>10){ty=ty+1;}
        }
        switch(ty){
            case 1:
                str="弱"
                break;
            case 2:
                str="较弱"
                break;
            case 3:
                str="一般"
                break;
            case 4:
                str="一般"
                break;
            case 5:
                str="强"
                break;
            case 6:
                str="严密"
                break;
            case 7:
                str="很严密"
                break;
        }
       
    document.getElementById("passw").innerHTML=str;
    }


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值