一般的对表单数据验证的javascript代码收集

  • //正则表达式   
  • var regDate=/^([1-9]{1}[d]{3})-([d]{2})-([0-4]{1}[d]{1})$/ //年份   
  • var regTime=/^([d]{2})<img src="images/smilies/frown.gif" border="0" alt="">[d]{2})<img src="images/smilies/frown.gif" border="0" alt="">[d]{2})$/;//时间   
  • var regTel=/^(0[d]{2,3}[-])?([d]{2,3}[-])?([d]{7,8})$/;//常用的电话   
  •   
  • var regEmail=/^([a-zA-Z0-9_-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([a-zA-Z0-9-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$/;//Email   
  • var regNum=/^[1-9][d]*((.?[d])[d]*)?$/;//数字   
  • var regInt=/^-?[1-9][d]*$/;//整数   
  • //^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$ 数字   
  • //^[-+]?d+(.d+)?$    
  •   
  • //判断数字   
  • //返回值:正确:true 错误:false   
  • function isNum(num){  
  •     flag=regNum.test(num);  
  •     if(flag) return true;  
  •     return false;  
  • }  
  •   
  • //整数的确认;   
  • //返回值:正确 true 错误 false   
  • function isInt(theInt){  
  •     var flag=regInt.test(theInt);  
  •     if(flag) return true;  
  •     return false;  
  • }  
  •   
  • //判断Email地址的的合理性   
  • //返回值:正确:true 错误:false   
  • function isEmail(eStr){  
  •     flag=regEmail.test(eStr);  
  •     if(flag) return true;  
  •     return false;  
  • }  
  •   
  • //获取客户端的当前时间   
  • var dDate=new Date();  
  • var dYear=dDate.getFullYear();  
  • var dMonth=FillNumber(dDate.getMonth()+1);  
  • var dDay=FillNumber(dDate.getDate());  
  • var dHours=FillNumber(dDate.getHours());  
  • var dMinutes=FillNumber(dDate.getMinutes());  
  • var dSeconds=FillNumber(dDate.getSeconds());  
  •   
  • //返回当前时间   
  • function hms(){  
  •     hm=FillNumber(new Date().getHours())+":"+FillNumber(new Date().getMinutes())+":"+FillNumber(new Date().getSeconds());  
  •     return hm;  
  • }  
  •   
  • // 日期的确认 isDate()   
  • // 返回值:正确 true, 错误 false   
  • function isDate (theStr) {  
  •       
  •     var dArray=theStr.match(regDate);    //得到数组   
  •     if (dArray==null){  
  •         return (false);  
  •     }  
  •     else {                                //把年份月份日期分别付给变量   
  •         var y = dArray[1];  
  •         var m = dArray[2];  
  •         var d = dArray[3];  
  •   
  •         var maxDays = 31;               //最长天数   
  •   
  •         if (m>12 || m<1 ) return false;//判断月份是否在1-12之间   
  •         if (m == 4 || m == 6 || m == 9 || m == 11) maxDays = 30;  
  •         else if(m == 2) {  
  •             if ( y % 4 > 0) maxDays = 28;  
  •             else if ( y % 100 == 0 && y % 400 > 0) maxDays = 28;  
  •             else maxDays = 29;  
  •         }  
  •         if (d>maxDays || d<1){//判断日期是否正确   
  •             return false;  
  •         }  
  •         else {  
  •             return true;  
  •         }  
  •     }  
  • }  
  •   
  • // 时间确认 isTime()   
  • // 返回值:正确 true, 错误 false   
  • function isTime (theStr) {  
  •     var tArray=theStr.match(regTime);  
  •     if(tArray==null) return false;  
  •     var h=tArray[1];  
  •     var m=tArray[2];  
  •     var s=tArray[3];  
  •     if( s>59 || s<0) return false;  
  •     if(m>59 || m<0) return false;  
  •     if(h>23||h<0) return false;  
  •     return true;  
  • }  
  •   
  •   
  • //为1位日期数字加0   
  • function FillNumber(num)  
  • {  
  •         switch (num)  
  •         {  
  •             case 0 :  
  •                 ReturnNum="00";  
  •                 break;  
  •             case 1 :  
  •                 ReturnNum="01";  
  •                 break;  
  •             case 2 :  
  •                 ReturnNum="02";  
  •                 break;  
  •             case 3 :  
  •                 ReturnNum="03";  
  •                 break;  
  •             case 4 :  
  •                 ReturnNum="04";  
  •                 break;  
  •             case 5 :  
  •                 ReturnNum="05";  
  •                 break;  
  •             case 6 :  
  •                 ReturnNum="06";  
  •                 break;  
  •             case 7 :  
  •                 ReturnNum="07";  
  •                 break;  
  •             case 8 :  
  •                 ReturnNum="08";  
  •                 break;  
  •             case 9 :  
  •                 ReturnNum="09";  
  •                 break;  
  •             default :  
  •                 ReturnNum=num;  
  •         }  
  •       
  •     return ReturnNum;  
  • }  
  •   
  •   
  • //判断电话号码的合理性   
  • //正确: True  错误: False   
  • function isTel(str){  
  •     var flag=regTel.test(str);  
  •     if (flag) return true;  
  •     return false;  
  • }  
  •   
  • //时间+字符串函数   
  • //三个参数:interval:决定往哪加:h:加在小时上,m:加在分钟上,S:加在秒钟上。   
  • //number:决定加多少;time:时间字符串。   
  • function timeAdd(interval,number,time){  
  •     //alert(time);   
  •     var flag=isTime(time);//判断time是否是时间字符串   
  •   
  •     if (flag){  
  •         var tArray=time.match(regTime);  
  •         var h=tArray[1];  
  •         var m=tArray[2];  
  •         var s=tArray[3];  
  •   
  •         switch (interval){  
  •             case "h":  
  •                 var h=eval(number+"+"+h);  
  •                 var hCarry=Math.floor(h/24);//floor:返回小于等于其数字参数的最大整数   
  •                 h=FillNumber(eval(h+"-"+24+"*"+hCarry));  
  •                 h=h+":"+m+":"+s;  
  •                 return h;  
  •                 break;  
  •             case "m":  
  •                 var m=eval(m+"+"+number);  
  •                 var mCarry=Math.floor(m/60);  
  •                 m=FillNumber(eval(m+"-"+60+"*"+mCarry))  
  •                   
  •                 h=eval(h+"+"+mCarry);                            //加上从分钟上的进位。   
  •                 var hCarry=Math.floor(h/24);  
  •                 h=FillNumber(eval(h+"-"+24+"*"+hCarry));  
  •   
  •                 m=h+":"+m+":"+s;  
  •                 return m;  
  •                 break;  
  •             case "s":  
  •                 var s=eval(s+"+"+number);  
  •                 var sCarry=Math.floor(s/60);  
  •                 s=FillNumber(eval(s+"-"+60+"*"+sCarry));        //得到秒数   
  •   
  •                 m=eval(m+"+"+sCarry);                            //加上秒钟进位   
  •                 var mCarry=Math.floor(m/60);  
  •                 m=FillNumber(eval(m+"-"+60+"*"+mCarry));        //得到分钟数   
  •       
  •                 h=eval(h+"+"+mCarry);                            //加上从分钟上的进位。   
  •                 var hCarry=Math.floor(h/24);  
  •                 h=FillNumber(eval(h+"-"+24+"*"+hCarry));        //得到小时数   
  •                   
  •                 s=h+":"+m+":"+s;                                //得到最后结果   
  •                 return s;  
  •                 break;  
  •             default:  
  •                 alert("参数错误,请认真检查");  
  •         }  
  •     }  
  •     else{  
  •         alert("时间字符串错误");  
  •     }  
  • }  
  •   
  • //得到字符串的长度*汉字为2个字符   
  • function strlen(str)  
  • {  
  •     len=0;  
  •     n=str.length;  
  •     for(i=0;i<n;i++)  
  •     {  
  •         if(str.charCodeAt(i)>255){  
  •             len+=2;  
  •         }  
  •         else{  
  •             len+=1;  
  •         }  
  •     }  
  •     return len;  
  • }  
  •   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值