利用javascript驗證各種格式

、時間類
   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]);
       }
*************
email的判斷。
       function ismail(mail)
       {
         return(new RegExp(/^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$/).test(mail));
       }
***************

身份證的驗證
       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;
       }

**************************
電話號碼的驗證

要求:
  (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}$)
電子郵件和電話號碼、手機號碼正則表達式
/w+([-+.']/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*|(13[0-9]{9})|(159[0-9]{8})|([0-9]{4}-[0-9]{8})|([0-9]{3}-[0-9]{8})|([0-9]{4}-[0-9]{7})

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章