工具類腳本代碼

/*
  * 只能爲正整數
  */
var regNum0 = /^\d+$/;
 
/*
  * 郵政編碼
  */
var regPostCode0 = /^\d{6}$/;
 
/*
  * 用戶名
  * 只能是字母數字下劃線,而且以字母開頭(5-16位)
  */
var regUserName0 = /^[a-zA-Z]\w{4,15}$/;
 
/*
  * IP地址
  * 如:192.168.1.102
  */
var regIP0 = /^((([1-9]\d?)|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}(([1-9]\d?)|(1\d{2})|(2[0-4]\d)|(25[0-5]))$/;
 
/*
  * 只能是中文漢字
  */
var regChineseChar0 = /^[\u4e00-\u9fa5]+$/;
 
/*
  * 網址
  * 只容許http、https、ftp這三種
  * 如:http://www.baidu.com
  */
var regWeb0 = /^(([hH][tT]{2}[pP][sS]?)|([fF][tT][pP]))\:\/\/[wW]{3}\.[\w-]+\.\w{2,4}(\/.*)?$/;
 
/*
  * 日期格式驗證
  * 由於日期格式比較多,主要驗證瞭如下類型
  * 2012-05-1四、2012/05/六、2012.5.1四、20120528
  */
var regDate0 = /^[1-9]\d{3}([-|\/|\.])?((0\d)|([1-9])|(1[0-2]))\1(([0|1|2]\d)|([1-9])|3[0-1])$/;
 
/** 得到系統毫秒數 */
function now() {
     return ( "function" == typeof Date.now) ? Date.now() : new Date().valueOf();
}
 
/** 判斷是否爲空 */
function isNull(val) {
     if (val === null || val === "" ) {
         return true ;
     }
     return false ;
}
 
function formatDate(date){
     
}
 
/** 得到帶漢字的日期 */
function getTodayC() {
     var d = new Date();
     var s = "" ;
     s += d.getFullYear() + "年" ;
     s += (d.getMonth() + 1) + "月" ;
     s += d.getDate() + "日" ;
     s += "  星期" + dateNumToChinese(d.getDay());
     return s;
}
 
/** 得到帶英文的日期 */
function getTodayE(geshi, week) {
     var d = new Date();
     var s = "" ;
     if ((geshi == "" || geshi == "-" || geshi == null ) && week == 0) {
         s += d.getFullYear() + "-" ;
         s += (d.getMonth() + 1) + "-" ;
         s += d.getDate();
     } else if ((geshi == "" || geshi == "-" || geshi == null ) && week == 1) {
         s += d.getFullYear() + "-" ;
         s += (d.getMonth() + 1) + "-" ;
         s += d.getDate() + "  " ;
         s += dateNumToEn(d.getDay());
     } else if (geshi == "/" && week == 1) {
         s += d.getFullYear() + "/" ;
         s += (d.getMonth() + 1) + "/" ;
         s += d.getDate() + "/" ;
         s += dateNumToEn(d.getDay());
     } else {
         s = "error" ;
     }
 
     return s;
}
 
/** 得到帶漢字的時間 */
function getTodayTimeC() {
     var d = new Date();
     var s = "" ;
     s += d.getHours() + "時" ; // 獲取當前小時數(0-23)
     s += d.getMinutes() + "分" ; // 獲取當前分鐘數(0-59)
     s += d.getSeconds() + "秒" ;
     return s;
}
 
/** 得到英文的時間 */
function getTodayTimeE(geshi) {
     var d = new Date();
     var s = "" ;
     if (geshi == "" || geshi == null || geshi == ":" ) {
         s += d.getHours() + ":" ; // 獲取當前小時數(0-23)
         s += d.getMinutes() + ":" ; // 獲取當前分鐘數(0-59)
         s += d.getSeconds();
 
     } else if (geshi == "-" ) {
         s += d.getHours() + "-" ; // 獲取當前小時數(0-23)
         s += d.getMinutes() + "-" ; // 獲取當前分鐘數(0-59)
         s += d.getSeconds();
     } else if (geshi == "/" ) {
         s += d.getHours() + "/" ; // 獲取當前小時數(0-23)
         s += d.getMinutes() + "/" ; // 獲取當前分鐘數(0-59)
         s += d.getSeconds();
     }
 
     return s;
}
 
/** 轉化數字爲漢字星期 */
function dateNumToChinese(num) {
     if (num == 1) {
         return "一" ;
     } else if (num == 2) {
         return "二" ;
     } else if (num == 3) {
         return "三" ;
     } else if (num == 4) {
         return "四" ;
     } else if (num == 5) {
         return "五" ;
     } else if (num == 6) {
         return "六" ;
     } else if (num === 0) {
         return "日" ;
     } else {
         return "error" ;
     }
}
 
/** 轉化數字爲英文星期 */
function dateNumToEn(num) {
     if (num == 1) {
         return "Mon" ;
     } else if (num == 2) {
         return "Tue" ;
     } else if (num == 3) {
         return "Wed" ;
     } else if (num == 4) {
         return "Thu" ;
     } else if (num == 5) {
         return "Fri" ;
     } else if (num == 6) {
         return "Sat" ;
     } else if (num === 0) {
         return "Sun" ;
     } else {
         return "error" ;
     }
}
//
// | 求兩個時間的天數差 日期格式爲 YYYY-MM-dd
//
function daysBetween(DateOne, DateTwo) {
     var OneMonth = DateOne.substring(5, DateOne.lastIndexOf( '-' ));
     var OneDay = DateOne
             .substring(DateOne.length, DateOne.lastIndexOf( '-' ) + 1);
     var OneYear = DateOne.substring(0, DateOne.indexOf( '-' ));
 
     var TwoMonth = DateTwo.substring(5, DateTwo.lastIndexOf( '-' ));
     var TwoDay = DateTwo
             .substring(DateTwo.length, DateTwo.lastIndexOf( '-' ) + 1);
     var TwoYear = DateTwo.substring(0, DateTwo.indexOf( '-' ));
 
     var cha = ((Date.parse(OneMonth + '/' + OneDay + '/' + OneYear) - Date
             .parse(TwoMonth + '/' + TwoDay + '/' + TwoYear)) / 86400000);
     return Math.abs(cha);
}
 
//
// | 日期合法性驗證
// | 格式爲:YYYY-MM-DD或YYYY/MM/DD
//
function IsValidDate(DateStr) {
     var sDate = DateStr.replace(/(^\s+|\s+$)/g, '' ); // 去兩邊空格;
     if (sDate == '' )
         return true ;
     // 若是格式知足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替換爲''
     // 數據庫中,合法日期能夠是:YYYY-MM/DD(2003-3/21),數據庫會自動轉換爲YYYY-MM-DD格式
     var s = sDate.replace(
             /[\d]{ 4,4 }[\-/]{ 1 }[\d]{ 1,2 }[\-/]{ 1 }[\d]{ 1,2 }/g, '' );
     if (s == '' ) // 說明格式知足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D
     {
         var t = new Date(sDate.replace(/\-/g, '/' ));
         var ar = sDate.split(/[-/:]/);
         if (ar[0] != t.getYear() || ar[1] != t.getMonth() + 1
                 || ar[2] != t.getDate()) {
             // alert('錯誤的日期格式!格式爲:YYYY-MM-DD或YYYY/MM/DD。注意閏年。');
             return false ;
         }
     } else {
         // alert('錯誤的日期格式!格式爲:YYYY-MM-DD或YYYY/MM/DD。注意閏年。');
         return false ;
     }
     return true ;
}
 
//
// | 日期時間檢查
// | 格式爲:YYYY-MM-DD HH:MM:SS
//
function CheckDateTime(str) {
     var reg = /^(\d+)-(\d{ 1,2 })-(\d{ 1,2 }) (\d{ 1,2 }):(\d{ 1,2 }):(\d{ 1,2 })$/;
     var r = str.match(reg);
     if (r == null )
         return false ;
     r[2] = r[2] - 1;
     var d = new Date(r[1], r[2], r[3], r[4], r[5], r[6]);
     if (d.getFullYear() != r[1])
         return false ;
     if (d.getMonth() != r[2])
         return false ;
     if (d.getDate() != r[3])
         return false ;
     if (d.getHours() != r[4])
         return false ;
     if (d.getMinutes() != r[5])
         return false ;
     if (d.getSeconds() != r[6])
         return false ;
     return true ;
}
 
/** 添加下拉列表 */
// jQUery版
function addOptions(id, valueArr, contentArr) {
     // 根據id獲取對象
     var s = $( "#" + id);
     // 根據值數據的長度決定
     var length = valueArr.length;
     if (length < 1) {
         s.append( "<option value='" + valueArr + "'>" + contentArr + "</option" );
     } else {
         for ( var i = 0; i < length; i++) {
             s.append( "<option value='" + valueArr[i] + "'>" + contentArr[i]
                     + "</option>" );
         }
     }
}
/**
  * 檢驗table中的輸入值是否爲空 傳入要檢驗的table的id 若爲空則返回相應的行號和列號
  */
// jQUery版
function validTable(id) {
     // 表
     var table1 = $( "#" + id);
     var rows = 0;
     var result = "" ;
 
     // 行
     var trs = $( "#" + id + " tr" ).each( function () {
         rows++;
         var cols = 0;
         var collength = $( this ).children( "td" ).length;
         // alert(collength);
         // 列
         var tds = $( this ).children( "td" );
         tds.each( function () {
             cols++;
             var value1 = $( this ).children().val();
             if (isNull(value1)) {
                 $( this ).children().focus();
                 result += rows + "," + cols + ";" ;
             }
         });
     });
     return result;
}
 
    /**
     * 去空格
     * @param str
     */
    function trim(str){
      if (str== null ||str== "" ) return "" ;
      return str.replace(/^\s+/g, '' ).replace(/\s+$/g, '' );
    };
 
 
    /**
     * 檢驗輸入的是不是數字
     * @param keyCode
     */
    function isNumber(keyCode){
      //alert(keyCode);
      if (((keyCode >= 48 && keyCode <= 57 )&& window.event.shiftKey == false )
       ||(keyCode >= 96 && keyCode <= 105 ))
       return true ;
      return false ;
    }

    function isCursorCtrl(keyCode){
      if (keyCode >= 33 && keyCode <= 40 )
       return true ;
      return false ;
    }

    function isPlusSign(keyCode){
      if (keyCode==187||keyCode==107)
       return true ;
      return false ;
    }

    function isSubtractionSign(keyCode){
      if (keyCode == 109||keyCode == 189)
       return true ;
      return false ;
    }
 
    function isDotSign(keyCode){
      if (keyCode==110 ||keyCode==190)
        return true ;
      return false ;
    }
    /**
     * 檢驗是不是tab鍵
     * @param keyCode
     */
    function isTab(keyCode){
      if (keyCode==9)
       return true ;
      return false ;
    }
    /**
     * 檢驗是不是enter鍵
     * @param keyCode
     */
    function isEnter(keyCode){
      if (keyCode==13)
       return true ;
      return false ;
    }
    /**
     * 檢驗是不是退格鍵
     * @param keyCode
     */
    function isBackspace(keyCode){
      if (keyCode==8)
       return true ;
      return false ;
    }
   /**
    * 檢驗是不是delete鍵
    */
   function isDelete(keyCode){
      if (keyCode==46)
       return true ;
      return false ;
   }
 
   /**
    * 將enter鍵轉換爲tab
    */
    function enterToTab() {
      if (window.event.keyCode==13)
          window.event.keyCode=9;
    }
   /**
    * 檢驗是不是數字
    */
   function isDigitStr(s){
       var patrn=/^[0-9]/;
       if (!patrn.exec(s)) return false ;
       return true ;
    };
     
    /**
     * 延遲跳轉頁面
     * 注意要在頁面數據加載完成後才執行此函數,不然開始跳轉頁面了
     * @param {Object} url
     */
function delayUrl(url){
         var lanrenzhijia = $( "#time" ).html();
         alert(1);
         if (lanrenzhijia > 0){
             lanrenzhijia--;
             document.getElementById( 'time' ).innerHTML = lanrenzhijia;
         } else {
             window.location.href = url ;
         }
         setTimeout( "delayUrl('" + url + "')" ,1000);
}
 
/**
  * 延遲跳轉
  */
function delayUrl(url,time){
     if (time>0){
         time--;
     } else {
         window.location.href = url ;
     }
     setTimeout( "delayUrl('" + url + "'," +time+ ")" ,1000);
}
 
/**
  * 對符合條件的表單進行驗證
  */
function valide(){
     //重複密碼校驗
     if ($( ".confirmPass" ).val()!= null &&$( ".confirmPass" ).val()!= "" &&$( ".confirmPass" ).val()!=$( ".password" )){
         alert( "倆次密碼不一致" );
         $( ".confirmPass" ).focus();
         return false ;
     }
     //郵箱校驗
     $( ".email" ).each( function (){
         //alert($(this).val());
         var reEmail=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; 
         //alert(reEmail.test($(this).val()));
         if (!reEmail.test($( this ).val())){
             alert( "郵箱格式不正確" );
             $( this ).focus();
             return false ;
         }
     });
     //日期校驗
     $( ".date" ).each( function (){
          
         if (!RQcheck($( this ).val())){
             alert( "日期格式不正確" );
             $( this ).focus();
             return false ;
         }
     });
     //數字校驗
     $( ".num" ).each( function (){
          var reNum=/^(-?\d+)(\.\d+)?$/;
         if (!reNum.test($( this ).val())){
             alert( "數字格式不正確" );
             $( this ).focus();
             return false ;
         }
     });
     //手機號
     $( ".tel" ).each( function (){
          var reTel=/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
         if (!reTel.test($( this ).val())){
             alert( "手機號格式不正確" );
             $( this ).focus();
             return false ;
         }
     });
     //ip地址
     $( ".IP" ).each( function (){
         var reIP=/^((([1-9]\d?)|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}(([1-9]\d?)|(1\d{2})|(2[0-4]\d)|(25[0-5]))$/;
         if (!reIP.test($( this ).val())){
             alert( "IP地址格式不正確" );
             $( this ).focus();
             return false ;
         }
     });
      
     return true ;
}
 
 
/**
  * 校驗日期
  */
function RQcheck(RQ) {
      var date = RQ;
      var result = date.match(/^(\d{4})(-|\/)(\d{2})\2(\d{2})$/);
 
      if (result == null ){
          return false ;
      }
      var d = new Date(result[1], result[3] - 1, result[4]);
      return (d.getFullYear() == result[1] && (d.getMonth() + 1) == result[3] && d.getDate() == result[4]);
}
 
/**
  * 用於限制只輸入數字
  * 暫時只支持IE,火狐有待開發
  */
function onlyNum(event){
      var evt = event ? event : (window.event ?window.event : null );
     // alert(evt.keyCode);
     if (!(evt.keyCode==46)&&!(evt.keyCode==8)&&!(evt.keyCode==37)&&!(evt.keyCode==39)&&!(evt.keyCode==190)) {
         if (!((evt.keyCode>=48&&evt.keyCode<=57)||(evt.keyCode>=96&&evt.keyCode<=105))) {
             evt.returnValue= false ; //不讓非數字顯示
             
         }
     }
     //alert(evt.returnValue);
}
相關文章
相關標籤/搜索