天高任鸟飞 海阔凭鱼跃

……C++正在学习中……
posts - 28, comments - 0, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

js 验证类

Posted on 2006-11-16 17:01 Jaunt 阅读(146) 评论(0)  编辑 收藏 引用 所属分类: Ajax
 一、验证类  
  1、数字验证内  
      1.1   整数  
              /^(-|\+)?\d+$/.test(str)  
      1.2   大于0的整数   (用于传来的ID的验证)  
              /^\d+$/.test(str)  
      1.3   负整数的验证  
              /^-\d+$/.test(str)  
  2、时间类  
      2.1   短时间,形如   (13:04:06)  
              function   isTime(str)  
              {  
                  var   a   =   str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);  
                  if   (a   ==   null)   {alert('输入的参数不是时间格式');   return   false;}  
                  if   (a[1]>24   ||   a[3]>60   ||   a[4]>60)  
                  {  
                      alert("时间格式不对");  
                      return   false  
                  }  
                  return   true;  
              }  
      2.2   短日期,形如   (2003-12-05)  
              function   strDateTime(str)  
              {  
                    var   r   =   str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);    
                    if(r==null)return   false;    
                    var   d=   new   Date(r[1],   r[3]-1,   r[4]);    
                    return   (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);  
              }  
      2.3   长时间,形如   (2003-12-05   13:04:06)  
              function   strDateTime(str)  
              {  
                  var   reg   =   /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})   (\d{1,2}):(\d{1,2}):(\d{1,2})$/;    
                  var   r   =   str.match(reg);    
                  if(r==null)return   false;    
                  var   d=   new   Date(r[1],   r[3]-1,r[4],r[5],r[6],r[7]);    
                  return   (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);  
              }  
      2.4   只有年和月。形如(2003-05,或者2003-5)  
      2.5   只有小时和分钟,形如(12:03)  
  3、表单类  
      3.1   所有的表单的值都不能为空  
              <input   onblur="if(this.value.replace(/^\s+|\s+$/g,'')=='')alert('不能为空!')">  
      3.2   多行文本框的值不能为空。  
      3.3   多行文本框的值不能超过sMaxStrleng  
      3.4   多行文本框的值不能少于sMixStrleng  
      3.5   判断单选框是否选择。  
      3.6   判断复选框是否选择.  
      3.7   复选框的全选,多选,全不选,反选  
      3.8   文件上传过程中判断文件类型  
  4、字符类  
      4.1   判断字符全部由a-Z或者是A-Z的字字母组成  
              <input   onblur="if(/[^a-zA-Z]/g.test(this.value))alert('有错')">  
      4.2   判断字符由字母和数字组成。  
              <input   onblur="if(/[^0-9a-zA-Z]/g.test(this.value))alert('有错')">  
      4.3   判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母  
              /^([a-zA-z_]{1})([\w]*)$/g.test(str)  
      4.4   字符串替换函数.Replace();  
  5、浏览器类  
      5.1   判断浏览器的类型  
              window.navigator.appName  
      5.2   判断ie的版本  
              window.navigator.appVersion  
      5.3   判断客户端的分辨率  
              window.screen.height;     window.screen.width;  
       
  6、结合类  
      6.1   email的判断。  
              function   ismail(mail)  
              {  
                  return(new   RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));  
              }  
      6.2   手机号码的验证  
      6.3   身份证的验证  
              function   isIdCardNo(num)  
              {  
                  if   (isNaN(num))   {alert("输入的不是数字!");   return   false;}  
                  var   len   =   num.length,   re;    
                  if   (len   ==   15)  
                      re   =   new   RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);  
                  else   if   (len   ==   18)  
                      re   =   new   RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);  
                  else   {alert("输入的数字位数不对!");   return   false;}  
                  var   a   =   num.match(re);  
                  if   (a   !=   null)  
                  {  
                      if   (len==15)  
                      {  
                          var   D   =   new   Date("19"+a[3]+"/"+a[4]+"/"+a[5]);  
                          var   B   =   D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];  
                      }  
                      else  
                      {  
                          var   D   =   new   Date(a[3]+"/"+a[4]+"/"+a[5]);  
                          var   B   =   D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];  
                      }  
                      if   (!B)   {alert("输入的身份证号   "+   a[0]   +"   里出生日期不对!");   return   false;}  
                  }  
                  return   true;  
              }  
   
  画图:  
  <OBJECT    
  id=S    
  style="LEFT:   0px;   WIDTH:   392px;   TOP:   0px;   HEIGHT:   240px"    
  height=240    
  width=392    
  classid="clsid:369303C2-D7AC-11D0-89D5-00A0C90833E6">  
  </OBJECT>  
  <SCRIPT>  
  S.DrawingSurface.ArcDegrees(0,0,0,30,50,60);  
  S.DrawingSurface.ArcRadians(30,0,0,30,50,60);  
  S.DrawingSurface.Line(10,10,100,100);  
  </SCRIPT>

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理