js工具类

var tool = {
    /**
     * 非空标记
     * 
     * @param requiredInputArray 一维字符串数组
     */
    inputRequired:function(requiredInputArray){
        $.each(requiredInputArray, function(){    
            if($("[id='"+this+"']:last").attr("placeholder")!="*"){
                $("[id='"+this+"']:last").attr("placeholder", "*").css('','');
            }
        }); 
    },
    /**
     * 非空校验
     * 
     * @param requiredInputArray 校验的字符串数组
     * @return true:有空值    false:没有空值
     */
    isNull: function (requiredInputArray) {
        var isNonNull = false;
        $.each(requiredInputArray, function () {
            if ($.trim($("#" + this).val()) == "") {
                $("#" + this).focus();
                isNonNull = true;
                return isNonNull;
            }
        });
        return isNonNull;
    },
    /**
     * 用户名格式验证(用户名只能以字母开头,由字母、数字组成的长度为2-50的字符串)
     *
     * @param username 用户名
     * @return true:不正确    false:正确
     *
     **/
    isUsername: function (username) {
        if (!/[A-Za-z][A-Za-z0-9]{1,49}$/.test(username)) {
            return true;
        }
        return false;
    },
    /**
     * 验证email格式
     *
     * @param email
     * @return true:不正确    false:正确
     **/ 
    isEmail: function (email) {
        if (!/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]+$/.test(email)) {
            return true;
        } else {
            return false;
        }
    },
    /**
     * 前后密码是否一致
     *
     * @param pwd1 密码1
     * @param pwd2 密码2
     * @return true:一致    false:不一致
     **/ 
    isPwdEqual: function (pwd1, pwd2) {
        if (pwd1 != pwd2) {
            return false;
        }
        return true;
    },
    /**
     * 密码不能少于len位(缺省长度时为6位)
     *
     * @param pwd 密码
     * @param len 长度(缺省时为6位)
     * @return true:合格   false:不合格
     **/ 
    isPwd: function (pwd) {
        var len = 6;// 默认6位
        if(arguments[1]!=null){
            len = arguments[1];
        }
        if ($.trim(pwd).length < len) {
            return false;
        }
        return true;
    },
    /**
     * 身份证格式验证:
     *     1、身份证号合法性验证 
     *     2、支持15位和18位身份证号
     *     3、支持地址编码、出生日期、校验位验证
     *
     * @param code 身份证
     * @return true:正确   false:格式不正确
     **/
    isCertificate: function (code) { 
        var city={
            11:"北京",
            12:"天津",
            13:"河北",
            14:"山西",
            15:"内蒙古",
            21:"辽宁",
            22:"吉林",
            23:"黑龙江 ",
            31:"上海",
            32:"江苏",
            33:"浙江",
            34:"安徽",
            35:"福建",
            36:"江西",
            37:"山东",
            41:"河南",
            42:"湖北 ",
            43:"湖南",
            44:"广东",
            45:"广西",
            46:"海南",
            50:"重庆",
            51:"四川",
            52:"贵州",
            53:"云南",
            54:"西藏 ",
            61:"陕西",
            62:"甘肃",
            63:"青海",
            64:"宁夏",
            65:"新疆",
            71:"台湾",
            81:"香港",
            82:"澳门",
            91:"国外 "
        };
        var tip = "";
        var pass= true;
            
        if (!code || !/^[1-9][0-9]{5}(19[0-9]{2}|200[0-9]|2010)(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])[0-9]{3}[0-9xX]$/i.test(code)) {
            tip = "身份证号格式错误";
            pass = false;
        }
            
        else if(!city[code.substr(0,2)]){
            tip = "身份证号地址编码错误";
            pass = false;
        }
        else{
            //18位身份证需要验证最后一位校验位
            if(code.length == 18){
                code = code.split('');
                //∑(ai×Wi)(mod 11)
                //加权因子
                var factor = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ];
                //校验位
                var parity = [ 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 ];
                var sum = 0;
                var ai = 0;
                var wi = 0;
                for (var i = 0; i < 17; i++)
                {
                    ai = code[i];
                    wi = factor[i];
                    sum += ai * wi;
                }
                var last = parity[sum % 11];
                if(parity[sum % 11] != code[17]){
                    tip = "身份证号校验位错误";
                    pass =false;
                }
            }
        }
        if(!pass) alert(tip);
        return pass;
    },
    /**
     * qq验证
     *
     * @param qq
     * @return true:正确   false:格式不正确
     **/ 
    isQQ:function(qq){
        if (/^[1-9]\d{4,9}$/i.test(qq)) {
            $("#qq").focus();
            return false;
        } else{
            return true;
        }
    },
    /**
     * 电话验证
     *
     * @param telphone 电话
     * @return true:格式不正确   false:格式正确
     **/ 
    isPhone: function (telphone) {
        if (!/^1[3|4|5|7|8]\d{9}$/.test(telphone)) {
            return true;
        } else {
            return false;
        }
    },
    /**
     * 日期格式化
     *
     * @param date 日期对象
     * @param fmt 日期格式
     * @return 格式化后的日期字符串
     **/ 
    dateFormat: function (date, fmt) {
        var o = {
            "M+": date.getMonth() + 1, //月份   
            "d+": date.getDate(), //日   
            "h+": date.getHours(), //小时   
            "m+": date.getMinutes(), //分   
            "s+": date.getSeconds(), //秒   
            "q+": Math.floor((date.getMonth() + 3) / 3), //季度   
            "S": date.getMilliseconds()             //毫秒   
        };
        if (/(y+)/.test(fmt))
            fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
        for (var k in o)
            if (new RegExp("(" + k + ")").test(fmt))
                fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        return fmt;
    },
    /**
     * 删掉“2011-01-01 12:21:22.0”中的“.0”
     *
     * @param str 待处理的日期字符串
     * @return 处理后的字符串
     **/ 
    deleteTimeDot:function(str){
        return str.replace('.0', '');
    },
    /**
     * 获取url中的参数值
     *
     * @param item url的参数
     * @return  url参数的值
     **/ 
    queryString: function (item) {
        var svalue = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)", "i"));
        return svalue ? svalue[1] : svalue;
    },
    /**
     * 设置cookie
     *
     * @param name cookie的key
     * @param value cookie的value
     **/
    setCookie: function (name, value)
    {
        var Days = 30 * 24 * 60 * 60 * 1000;
        var exp = new Date();
        exp.setTime(exp.getTime() + Days);
        document.cookie = name + "=" + encodeURIComponent(value) + ";expires=" + exp.toGMTString() + "; path=/";
    },
    /**
     * 读取key为name的cookies
     *
     * @param name cookie的key
     * @return cookie的值
     **/
    getCookie: function (name)
    {
        var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
        if (arr = document.cookie.match(reg)) {
            return decodeURIComponent(arr[2]);
        } else {
            return "";
        }
    },
    /**
     * 删除key为name的cookie
     *
     * @param name cookie的key
     **/
    delCookie: function (name)
    {
        var cval = tool.getCookie(name);
        if (cval != "") {
            document.cookie = name + "=" + cval + ";expires=" + new Date(0).toGMTString() + "; path=/";
        }
    },
    /**
     * 删除所有的cookie
     **/
    clearCookie:function (){
        var keys=document.cookie.match(/[^ =;]+(?=\=)/g);
        if (keys) {
            for (var i =  keys.length; i--;){
                document.cookie=keys[i]+'=0;expires=' + new Date(0).toUTCString() + "; path=/";
            }
        }    
    },
    /**
     * 截取字符串长度(默认截取20个长度)
     *
     * @param text 要截取的字符串
     * @param long 截取的长度(缺省时为20)
     * @return 截取后的字符串
     **/ 
    substring: function (text) {
        var subLength = arguments[1] ? arguments[1] : 20;// 默认截取20个长度
        if (text.length > subLength) {
            return text.substring(0, subLength) + '...';
        }
        return text;
    },
    /**
     * 将yyMMdd字符串转化为yy-MM-dd
     *
     * @param str yyMMdd字符串
     * @return yy-MM-dd字符串
     **/ 
    dateFormat2: function (str) {
        return str.substr(0, 4) + '-' + str.substr(4, 2) + '-' + str.substr(6, 2);
    },
    /**
     * 非负数校验
     * 
     * @param num 输入的字符串
     * @return true:数字  false:非数字
     **/
    isNum: function (num) {
        return  !(num===''||isNaN(num));
    },
    /**
     * 替换掉字符串中的所有null
     *
     * @param 要处理的字符串
     * @return string
     **/ 
    replaceNull:function(str){
        var new_str = str;// 替换后的字符串
        if(arguments[1]===null||arguments[1]===undefined){// 没有替换的参数
            new_str = new_str.replace(/null/g, '');
            return new_str;
        }
        new_str = new_str.replace(/null/g, arguments[1]);
        new_str = new_str.replace(/""/g, '"'+arguments[1]+'"');
        return new_str;
    },
    
    /**
     * 替换掉字符串中的所有null
     *
     * @param 要处理的字符串
     * @return string
     **/ 
    replaceNull2:function(str){
        var new_str = str;// 替换后的字符串
        if(arguments[1]===null||arguments[1]===undefined){// 没有替换的参数
            new_str = new_str.replace(/null/g, '');
            return new_str;
        }
        new_str = new_str.replace(/null/g, '"'+arguments[1]+'"');
        new_str = new_str.replace(/""/g, '"'+arguments[1]+'"');
        return new_str;
    },
    /**
     * 校验价格格式(价格必须为合法数字,正数,最多两位小数)
     * 
     * @param price 价格
     * @return true:正确;false:不正确
     */
    isPrice:function(price){
        //判断商品价格
        var reg = /(^[1-9]\d*(\.\d{1,2})?$)|(^[0]{1}(\.\d{1,2})?$)/;
        if (price == "") {
            return false;
        } else {
            if (!reg.test(price)) {
                return false;
            } else {
                return true;
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值