`
shaojiashuai123456
  • 浏览: 256980 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

注册验证的框架

阅读更多

  注册功能是网站的基本功能,但是验证总是需要从新写,很麻烦。

  所以我弄了个简单框架,可以通过修改参数完成简单验证。

<script language="javascript">
        var Valid=new Object();
        function $(id){
            return document.getElementById(id);
        }
        function showAlert(message){
              alert(message);
        }
        function showDiv(message,id){
              var str=document.getElementById(id);
              str.innerHTML=message;
        }
        function api(id,reg,message,haveOrNot,div){
              var str=document.getElementById(id).value;
              var flag=true;
              if(typeof haveOrNot=="undefined")  haveOrNot=true;
                  if((str==null||str=="")&&!haveOrNot){
                        flag=false;
                        message=message+"不能为空!";
                  }
		  else if((!reg.exec(str))&&(!((str==null||str=="")&&haveOrNot))){
                        flag=false;
                        message=message+"格式不合法!";                  		        
		  } 
                  if(!flag){
                        if(typeof div=="undefined")  showAlert(message);
                        else showDiv(message,div);
                  }
		  return flag;
        }
        //id为用户名所在文本域id值,,minLength为最少字符数,maxLength为最大字符数
        //haveOrNot为布尔值,true表示允许为空,false为不允许
        //div表示显示方式,如果为空或不填,用alert方式显示错误信息,如果填写,就填写错误显示的层id值
     Valid.Name=function name(id,minLength,maxLength,haveOrNot,div){	      
	      var reg=eval("/^([a-z]){"+minLength+","+maxLength+"}$/");
              var message="用户名";
              return api(id,reg,message,haveOrNot,div);    
	}
        Valid.Email=function email(id,haveOrNot,div){	      
	      var reg=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
              var message="邮箱";
              return api(id,reg,message,haveOrNot,div);    
	}
        Valid.Ps=function ps(id,minLength,maxLength,haveOrNot,div){	      
	      var reg=eval("/^([a-z]){"+minLength+","+maxLength+"}$/");
              var message="密码";
              return api(id,reg,message,haveOrNot,div);    
	}
        Valid.Rps=function rps(rps_id,ps_id,div){
              var rps=$(rps_id).value;
              var ps=$(ps_id).value;
              var flag=true;
              var message="";
              if(rps==""||rps==null){
                   flag=false;
                   message="重复密码不能为空!";
              }
              else if(rps!=ps){
                   flag=false; 
                   message="密码与重复密码不同!";
              }
              if(!flag){
                 if(typeof div=="undefined")  showAlert(message);
                 else showDiv(message,div);
              }
              return flag;
        }
        
        Valid.Phone=function phone(id,haveOrNot,div){	      
	      var reg=/^\d{11}/;
              var message="手机号";
              return api(id,reg,message,haveOrNot,div);    
	}
        Valid.Address=function address(id,haveOrNot,div){
              var reg=/^(.)*$/;
              var message="地址";
              return api(id,reg,message,haveOrNot,div);    
        }
</script>

 

Valid.Name用户名验证,他有5个参数

                    id:要验证的用户名所在文本域id        (必填

       minLength:用户名最小长度                         (必填

      maxLength:用户名最大长度                         (必填

       haveOrNot:用户名是否能空                         (选填,默认为true,true表示可以空,false表示不可以空)

                   div:显示提示信息的层id                    (选填,如果没有值,将用alert方式显示提示信息)

 

下面以Valid.Name为例示范一下使用

 新建一个html页面,代码如下:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<script language="javascript">
        var Valid=new Object();
        function $(id){
            return document.getElementById(id);
        }
        function showAlert(message){
              alert(message);
        }
        function showDiv(message,id){
              var str=document.getElementById(id);
              str.innerHTML=message;
        }
        function api(id,reg,message,haveOrNot,div){
              var str=document.getElementById(id).value;
              var flag=true;
              if(typeof haveOrNot=="undefined")  haveOrNot=true;
                  if((str==null||str=="")&&!haveOrNot){
                        flag=false;
                        message=message+"不能为空!";
                  }
    else if((!reg.exec(str))&&(!((str==null||str=="")&&haveOrNot))){
                        flag=false;
                        message=message+"格式不合法!";                           
    }
                  if(!flag){
                        if(typeof div=="undefined")  showAlert(message);
                        else showDiv(message,div);
                  }
    return flag;
        }
        //id为用户名所在文本域id值,,minLength为最少字符数,maxLength为最大字符数
        //haveOrNot为布尔值,true表示允许为空,false为不允许
        //div表示显示方式,如果为空或不填,用alert方式显示错误信息,如果填写,就填写错误显示的层id值
 Valid.Name=function name(id,minLength,maxLength,haveOrNot,div){      
       var reg=eval("/^([a-z]){"+minLength+","+maxLength+"}$/");
              var message="用户名";
              return api(id,reg,message,haveOrNot,div);   
 }
        Valid.Email=function email(id,haveOrNot,div){      
       var reg=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
              var message="邮箱";
              return api(id,reg,message,haveOrNot,div);   
 }
        Valid.Ps=function ps(id,minLength,maxLength,haveOrNot,div){      
       var reg=eval("/^([a-z]){"+minLength+","+maxLength+"}$/");
              var message="密码";
              return api(id,reg,message,haveOrNot,div);   
 }
        Valid.Rps=function rps(rps_id,ps_id,div){
              var rps=$(rps_id).value;
              var ps=$(ps_id).value;
              var flag=true;
              var message="";
              if(rps==""||rps==null){
                   flag=false;
                   message="重复密码不能为空!";
              }
              else if(rps!=ps){
                   flag=false;
                   message="密码与重复密码不同!";
              }
              if(!flag){
                 if(typeof div=="undefined")  showAlert(message);
                 else showDiv(message,div);
              }
              return flag;
        }
       
        Valid.Phone=function phone(id,haveOrNot,div){      
       var reg=/^\d{11}/;
              var message="手机号";
              return api(id,reg,message,haveOrNot,div);   
 }
        Valid.Address=function address(id,haveOrNot,div){
              var reg=/^(.)*$/;
              var message="地址";
              return api(id,reg,message,haveOrNot,div);   
        }

 

 
 function tests(){
   Valid.name("ss",5,10,false);
          //Valid.name("ss",5,10,false,"show");
          //Valid.name("ss",5,10,true);
          //Valid.name("ss",5,10,true,"show");
 }
</script>
<body>
<input name="ss" type="text" id="ss"/>
<input type="submit" name="Submit" value="提交" onclick="tests();"/>
<div id="show"></div>
</body>
</html>

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics