工具类脚本代码

/*
 * 只能为正整数
 */
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?)|(1d{2})|(2[0-4]d)|(25[0-5])).){3}(([1-9]d?)|(1d{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-14、2012/05/6、2012.5.14、20120528
 */
var regDate0 = /^[1-9]d{3}([-|/|.])?((0d)|([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?)|(1d{2})|(2[0-4]d)|(25[0-5])).){3}(([1-9]d?)|(1d{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);
}
原文地址:https://www.cnblogs.com/love-is/p/4269942.html