js常用验证

 一、验证类
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   所有的表单的值都不能为空
             
    3.2   多行文本框的值不能为空。
    3.3   多行文本框的值不能超过sMaxStrleng
    3.4   多行文本框的值不能少于sMixStrleng
    3.5   判断单选框是否选择。
    3.6   判断复选框是否选择.
    3.7   复选框的全选,多选,全不选,反选
    3.8   文件上传过程中判断文件类型
4、字符类
    4.1   判断字符全部由a-Z或者是A-Z的字字母组成
             
    4.2   判断字符由字母和数字组成。
             
    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;
            }
3.7   复选框的全选,多选,全不选,反选

  全选

 

 

 

 

 

  全选

 

 

 

 

 
 
3.8   文件上传过程中判断文件类型

没有办法屏蔽拷屏键,   不过有一种变态的方法可以不让截屏,   就是不断地清空剪贴板:
修正   3.8   文件上传过程中判断文件类型里所使用的正则表达式:

二、功能类
10,画图类,含饼、柱、矢量贝滋曲线
11,操纵客户端注册表类
12,DIV层相关(拖拽、显示、隐藏、移动、增加)
13,TABLAE相关(客户端动态增加行列,模拟进度条,滚动列表等)
14,各种   id=S  
style= "LEFT:   0px;   WIDTH:   392px;   TOP:   0px;   HEIGHT:   240px "  
height=240  
width=392  
classid= "clsid:369303C2-D7AC-11D0-89D5-00A0C90833E6 ">


写注册表:

TABLAE相关(客户端动态增加行列)


       
       
       


1.身份证严格验证:
2.验证IP地址

 
3.加sp1后还能用的无边框窗口!!


电话号码的验证
要求:
  (1)电话号码由数字、 "( "、 ") "和 "- "构成
  (2)电话号码为3到8位
  (3)如果电话号码中包含有区号,那么区号为三位或四位
  (4)区号用 "( "、 ") "或 "- "和其他部分隔开
  (5)移动电话号码为11或12位,如果为12位,那么第一位为0
  (6)11位移动电话号码的第一位和第二位为 "13 "
  (7)12位移动电话号码的第二位和第三位为 "13 "
  根据这几条规则,可以与出以下正则表达式:
  (^[0-9]{3,4}/-[0-9]{3,8}$) ¦(^[0-9]{3,8}$) ¦(^/([0-9]{3,4}/)[0-9]{3,8}$) ¦(^0{0,1}13[0-9]{9}$)


 

具有在输入非数字字符不回显的效果,即对非数字字符的输入不作反应。
function   numbersonly(field,event){
  var   key,keychar;
  if(window.event){
    key   =   window.event.keyCode;
  }
  else   if   (event){
    key   =   event.which;
  }
  else{
    return   true
  }
  keychar   =   String.fromCharCode(key);
  if((key   ==   null) ¦ ¦(key   ==   0) ¦ ¦(key   ==   8) ¦ ¦(key   ==   9) ¦ ¦(key   ==   13) ¦ ¦(key   ==   27)){
    return   true;
  }
  else   if(( "0123456789. ").indexOf(keychar)> -1){
    window.status   =   " ";
    return   true;
  }
  else   {
    window.status   =   "Field   excepts   numbers   only ";
    return   false;
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值