A-A+

一些JS验证

2007年11月30日 編程·程序設計 暂无评论 阅读 3,128 views 次

PS:

做ASM也有一个来月了,里面有些JS还是蛮不错的,Copy出来,留着以后用。

1.身份证的验证 
2.邮政编码验证
3.手机号码验证
4.电话号码验证
5.E-MAIL校验函数
6.判断是否为ASCII码
7.检查是否为数值类型字符串
8.检查是否为整数类型字符串
9.判断是否为标准型式日期(不包含时间)
10.判断是否超过限定的长度,汉字为两位,ASCII为一位
11.判断是否为整型数据
12.判断是否为数值型数据
13. 判断两个时间是否相等
14.纯英文字母字符串校验函数
15.英文数字字符串校验函数


1.身份证的验证 

JavaScript代码
  1. /*  
  2.         身份证的验证   
  3.     */  
  4.     function isIdCardNo(num)   
  5.     {    
  6.         if (isNaN(num)) {alert("输入的不是数字!"); return false;}    
  7.         var len = num.length, re;     
  8.         if (len == 15)    
  9.             re = new RegExp(/^(d{6})()?(d{2})(d{2})(d{2})(d{3})$/);    
  10.         else if (len == 18)    
  11.             re = new RegExp(/^(d{6})()?(d{4})(d{2})(d{2})(d{3})(d)$/);    
  12.         else {alert("输入的数字位数不对!"); return false;}    
  13.         var a = num.match(re);    
  14.         if (a != null){    
  15.             if (len==15){    
  16.                 var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);    
  17.                 var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];    
  18.             }    
  19.             else{    
  20.                 var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);    
  21.                 var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];    
  22.             }    
  23.             if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对!"); return false;}    
  24.         }    
  25.         return true;    
  26.     }  

2.邮政编码验证

JavaScript代码
  1. /*  
  2.     邮政编码验证  
  3.     */  
  4.     function checkPostcode(value){   
  5.     if (!isChars(value))   
  6.                 return false;   
  7.             var reg=/^[0-9]{6}$/;   
  8.             if(reg.test(value))   
  9.             {   
  10.                 return true;   
  11.             }   
  12.             else  
  13.             {   
  14.                 return false;   
  15.             }   
  16.      }  

3.手机号码验证

JavaScript代码
  1. function IsMobile(value)   
  2.      {   
  3.         //兼容号码段为:134-139和15号码段   
  4.          return (new RegExp(/^(((d{3}))|(d{3}-))?((13[4-9]{1}d{8})|(15d{9}))$/).test(value));   
  5.      }  

4.电话号码验证

JavaScript代码
  1. //电话号码验证   
  2.     function isTel(value)   
  3.     {   
  4.         //"兼容格式: 国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"   
  5.         //return (/^(([0+]d{2,3}-)?(0d{2,3})-)?(d{7,8})(-(d{3,}))?$/.test(this.Trim()));   
  6.         return (new RegExp(/^(([0+]d{2,3}-)?(0d{2,3})-)(d{7,8})(-(d{3,}))?$/).test(value));   
  7.     }  

5.E-MAIL校验函数

JavaScript代码
  1. /*  
  2.         E-MAIL校验函数  
  3.         return(new RegExp(/^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$/).test(mail));   
  4.     */  
  5.     function isEmail(mail)   
  6.     {    
  7.         if(jsTrim(mail).length>0)   
  8.         {   
  9.             var str1="([S])+[@]{1}([S])+[.]{1}(S)+";   
  10.             return(new RegExp(/([S])+[@]{1}([S])+[.]{1}(S)+/).test(mail));   
  11.         }   
  12.         else  
  13.         {   
  14.             return true;   
  15.         }   
  16.     }  

6.判断是否为ASCII码

JavaScript代码
  1. /*  
  2.         判断是否为ASCII码  
  3.  
  4.     */  
  5.     function isChars(value)   
  6.     {   
  7.         if(value==undefined)   
  8.         {   
  9.             return false;   
  10.         }   
  11.         for(var i=0;i<value.length;i++)   
  12.         {   
  13.             if (value.charCodeAt(i)>=128)   
  14.                 return false;          
  15.         }   
  16.         return true;       
  17.     }  

7.检查是否为数值类型字符串

JavaScript代码
  1. /*  
  2.         jsIsNumeric 函数  
  3.         检查是否为数值类型字符串,返回bool 类型 true 或 false  
  4.         说明:不能判断科学计数法的数字  
  5.     */  
  6.     function jsIsNumeric(value)   
  7.     {   
  8.         if (!isChars(value))   
  9.             return false;   
  10.         var reg=/^[-|+]{0,1}d+(.d+){0,1}$/;   
  11.         if(reg.test(value))   
  12.         {   
  13.             return true;   
  14.         }   
  15.         else  
  16.         {   
  17.             return false;   
  18.         }   
  19.     }  

8.检查是否为整数类型字符串

JavaScript代码
  1. /*  
  2.         jsIsInt函数  
  3.         检查是否为整数类型字符串,返回bool 类型 true 或 false  
  4.     */  
  5.     function jsIsInt(value)   
  6.     {   
  7.         if (!isChars(value))   
  8.             return false;   
  9.         var reg=/^[-|+]{0,1}d+$/;   
  10.         if(reg.test(value))   
  11.         {   
  12.             return true;   
  13.         }   
  14.         else  
  15.         {   
  16.             return false;   
  17.         }   
  18.     }  

9.判断是否为标准型式日期(不包含时间)

JavaScript代码
  1. /*  
  2.         jsIsDate函数  
  3.         判断是否为标准型式日期(不包含时间),  
  4.         参数说明:字符串  
  5.  
  6.  
  7.         返回 true 或 false  
  8.     */  
  9.     function jsIsDate(date)   
  10.     {   
  11.         if(jsTrim(date)==0) return true;   
  12.         if(!isChars(date)) return false;   
  13.         if (date.length>10) return false;                 
  14.         var reg2= /^(d{4})[/|-](d{1,2})[/|-](d{1,2})$/;   
  15.         var temp;                  
  16.         if (reg2.test(date))     
  17.         {   
  18.             temp=date.match(reg2);   
  19.             var newdate=new Date(temp[1],(parseInt(leftTrimZero(temp[2]),10)-1).toString(),temp[3]);   
  20.             if (parseInt(newdate.getFullYear(),10)!=parseInt(leftTrimZero(temp[1]),10)) return false;      
  21.             if (parseInt(newdate.getMonth(),10)!=parseInt(leftTrimZero(temp[2]),10)-1) return false;   
  22.             if (parseInt(newdate.getDate(),10)!=parseInt(leftTrimZero(temp[3]),10)) return false;   
  23.             return true;   
  24.         }   
  25.         else  
  26.             return false;                       
  27.            
  28.     }     

10.判断是否超过限定的长度,汉字为两位,ASCII为一位

JavaScript代码
  1. /*  
  2.         判断是否超过限定的长度,汉字为两位,ASCII为一位  
  3.  
  4.         针对于数据库中varchar值  
  5.     */     
  6.     function isInMaxLen(str,maxLen)   
  7.     {      
  8.         if (str=="" ||!str)  return true;          
  9.         var strByteLen=0;   
  10.         for(var i=0;i<str.length;i++)   
  11.         {   if(str.charCodeAt(i)>=128)   
  12.             {   strByteLen+=2;   
  13.             }   
  14.             else  
  15.             {   strByteLen+=1;   
  16.             }   
  17.         }   
  18.         if(strByteLen>maxLen)   
  19.             return false;   
  20.         else  
  21.             return true;               
  22.     }  

11.判断是否为整型数据

JavaScript代码
  1. //判断是否为整型数据 t:文本框控件; minValue:可输入的最小值   
  2.   
  3.     function IsQty(t,minValue)   
  4.     {   
  5.         trim_space(t);   
  6.            
  7.         if (t.value==""return true;   
  8.            
  9.         if (isNaN(t.value))   
  10.         {   
  11.             return false;   
  12.         }   
  13.   
  14.         if(t.value.indexOf(".",0)>=0)   
  15.         {   
  16.             return false;   
  17.         }   
  18.   
  19.         if (parseInt(t.value,10)!=parseFloat(t.value))   
  20.         {   
  21.             return false;   
  22.         }   
  23.            
  24.         if (parseInt(t.value,10)<parseInt(minValue,10))   
  25.         {   
  26.             return false;   
  27.         }   
  28.            
  29.         return true;   
  30.     }  

12.判断是否为数值型数据

JavaScript代码
  1. //判断是否为数值型数据    t:文本框控件; minValue:可输入的最小值   
  2.   
  3.     function IsNumber(t,minValue)   
  4.     {   
  5.         trim_space(t);   
  6.   
  7.         if (t.value==""return true;   
  8.            
  9.         if (isNaN(t.value))   
  10.         {   
  11.             return false;   
  12.         }   
  13.            
  14.         if(t.value.indexOf(".",0)>=0)   
  15.         {   
  16.             if ( t.value.substring(t.value.indexOf(".",0)+1,t.value.length).length==0 )   
  17.                 return false;   
  18.         }   
  19.   
  20.         if (parseFloat(t.value)<parseFloat(minValue)||parseFloat(t.value)>100000000.0)   
  21.         {   
  22.             return false;   
  23.         }   
  24.            
  25.         return true;   
  26.     }  

13. 判断两个时间是否相等

JavaScript代码
  1. /*  
  2.        判断两个时间是否相等  
  3.    */  
  4. function compareDate(startDate,endDate)   
  5. {   
  6.     var re = /-/g;   
  7.     var strDate1=startDate.value.replace(re,"/").split("/");   
  8.     var strDate2=endDate.value.replace(re,"/").split("/");   
  9.   
  10.     if(parseInt(strDate1[0],10)>parseInt(strDate2[0],10))   
  11.     {   
  12.         return false;   
  13.     }   
  14.   
  15.     if(parseInt(strDate1[0],10)==parseInt(strDate2[0],10) && parseInt(strDate1[1],10)>parseInt(strDate2[1],10))   
  16.     {   
  17.         return false;   
  18.     }   
  19.   
  20.     if(parseInt(strDate1[0],10)==parseInt(strDate2[0],10) && parseInt(strDate1[1],10)==parseInt(strDate2[1],10) && parseInt(strDate1[2],10)>parseInt(strDate2[2],10))   
  21.     {   
  22.         return false;   
  23.     }   
  24.        
  25.     return true;   
  26. }   
  27.   
  28. Request =    
  29. {   
  30.     QueryString : function(item)   
  31.     {   
  32.         var svalue = location.search.match(new RegExp("[?&]" + item + "=([^&]*)(&?)","i"));   
  33.         return svalue ? svalue[1] : svalue;   
  34.     }   
  35. }  

14.纯英文字母字符串校验函数

JavaScript代码
  1. /*  
  2.         纯英文字母字符串校验函数  
  3.     */  
  4.     function isPureLetterString(t)   
  5.     {   
  6.         trim_space(t);   
  7.                
  8.         if(t.value.length>0)   
  9.         {   
  10.             var str1=/^[a-zA-Z]{1,2000}$/;   
  11.             return (new RegExp(str1)).test(t.value);   
  12.         }   
  13.         else  
  14.         {   
  15.             return true;   
  16.         }   
  17.     }  

15.英文数字字符串校验函数

JavaScript代码
  1. /*  
  2.         英文数字字符串校验函数  
  3.  
  4.     */  
  5.     function isLetterAndNumericString(t)   
  6.     {   
  7.         trim_space(t);   
  8.                
  9.         if(t.value.length>0)   
  10.         {   
  11.             var str1=/^[0-9a-zA-Z]{1,2000}$/;   
  12.             return (new RegExp(str1)).test(t.value);   
  13.         }   
  14.         else  
  15.         {   
  16.             return true;   
  17.         }   
  18.     }  
标签:

给我留言

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。

Copyright © 寂寞部屋 保留所有权利.   Theme  Ality

用户登录