常用的几个JS验证函数

来源:互联网 发布:sql server2000 编辑:程序博客网 时间:2024/05/18 01:26

//判断字段必填(传入参数如: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;
    }

原创粉丝点击