js小工具篇-验证

前言

在开发中,会重复写很多很简单的小代码块。比如校验这种,而正因为简单,也为了轻便很多时候都不会引用一些工具库的。但每次都重复写都觉得笨死了。所以我想把这些代码整理一下,能独立做成小包,且都是用js写,独立使用。因为小所以引用没压力,就几个方法,而且已经压缩好了。方便大家使用。(为了使用覆盖面更广,这里就不用ES6来写,如果你需要请自行改造。)

如何使用

这样使用

validate.isArray(‘13512347895’)

如果名字相撞可以修改“validate”改成你想定义的名字就行了。压缩前后都是在前面的。就是为了方便大家修改。


代码

完整代码:

var validate = {
    myTrim: function(str) {
        return str.replace(/^\s+|\s+$/gm,'');
    },
    isArray: function(obj) {
        return Object.prototype.toString.call(obj) === '[object Array]';
    },
    isPhoneNum: function(num){
        num = this.myTrim(num);
        var p = /^1\d{10}$/;
        return p.test(num);
    },
    isPerCard: function(txt){
        tet = this.myTrim(txt);

        var aCity={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 iSum=0 ;
        var info="" ;
        if(!/^\d{17}(\d|x)$/i.test(tet)) return false;
        tet=tet.replace(/x$/i,"a");
        if(aCity[parseInt(tet.substr(0,2))]==null) return false;
        sBirthday=tet.substr(6,4)+"-"+Number(tet.substr(10,2))+"-"+Number(tet.substr(12,2));
        var d=new Date(sBirthday.replace(/-/g,"/")) ;
        if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return false;
        return true;
    },
    isPwd: function(txt){
        txt = this.myTrim(txt);
        if(txt.length >= 6 && txt.length <= 16){
            return true;
        }else{
            return false;
        }
    },
    isEmail: function(s) {
        s = this.myTrim(s);
        var p = /^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.){1,4}[a-z]{2,3}$/i;
        var result = p.test(s);
        if(result) {
            return true;
        } else {
            if(s == "") {
                return "NULL";
            } else {
                return false;
            }
        }
    },
    isMobile: function(s) {
        s = this.myTrim(s);
        var p = /\d{11}$/;
        var result = p.test(s);
        if(result) {
            return true;
        } else {
            if(s == "") {
                return "NULL";
            } else {
                return false;
            }
        }
    },
    isEmptyStr: function(s) {
        return /^\s*$/.test(s);
    },
    isNum: function(n) {
        return /^-?\d+$/g.test(n);
    },
    isFloat: function(n) {
        return /^(-?\d+)(\.\d+)?$/.test(n)
    },
    isMoney: function(n) {
        return(/^(([1-9]\d*)|\d)(\.\d{1,2})?$/).test(n);
    },
    isPositiveInteger: function(n) { //isPositiveInteger 判断是否为正整数
        return /^[1-9]\d*$/g.test(n);
    },
    isTheSame: function(str1, str2) {
        str1 = this.myTrim(str1);
        str2 = this.myTrim(str2);
        if(str1 === str2) {
            return true;
        } else {
            return false;
        }
    },
    isDate: function(str) {
        str = this.myTrim(str);
        if(str == "")
            return "NULL";

        var strarr = str.split("-");
        if(strarr.length == 3) {
            var date = base.util.getDate(str);
            if((date.getFullYear() > 0 && strarr[0].length == 4) &&
                date.getFullYear() == Number(strarr[0]) &&
                date.getMonth() + 1 == Number(strarr[1]) &&
                date.getDate() == Number(strarr[2])) {
                return true;
            }
        }
        return false;
    },
    isNotNull: function(s) {
        if(this.myTrim(s) == null || this.myTrim(s) == "") {
            return "NULL";
        } else
            return true;
    },
    isEmpty: function(s) {
        if(typeof(s) == "undefined" || s == null || s == "" || this.myTrim(s) == "") {
            return true;
        } else {
            return false;
        }
    }
}



压缩版本:

var validate={myTrim:function(str){return str.replace(/^\s+|\s+$/gm,'')},isArray:function(obj){return Object.prototype.toString.call(obj)==='[object Array]'},isPhoneNum:function(num){num=this.myTrim(num);var p=/^1\d{10}$/;return p.test(num)},isPerCard:function(txt){tet=this.myTrim(txt);var aCity={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 iSum=0;var info="";if(!/^\d{17}(\d|x)$/i.test(tet)){return false}tet=tet.replace(/x$/i,"a");if(aCity[parseInt(tet.substr(0,2))]==null){return false}sBirthday=tet.substr(6,4)+"-"+Number(tet.substr(10,2))+"-"+Number(tet.substr(12,2));var d=new Date(sBirthday.replace(/-/g,"/"));if(sBirthday!=(d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate())){return false}return true},isPwd:function(txt){txt=this.myTrim(txt);if(txt.length>=6&&txt.length<=16){return true}else{return false}},isEmail:function(s){s=this.myTrim(s);var p=/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.){1,4}[a-z]{2,3}$/i;var result=p.test(s);if(result){return true}else{if(s==""){return "NULL"}else{return false}}},isMobile:function(s){s=this.myTrim(s);var p=/\d{11}$/;var result=p.test(s);if(result){return true}else{if(s==""){return "NULL"}else{return false}}},isEmptyStr:function(s){return/^\s*$/.test(s)},isNum:function(n){return/^-?\d+$/g.test(n)},isFloat:function(n){return/^(-?\d+)(\.\d+)?$/.test(n)},isMoney:function(n){return(/^(([1-9]\d*)|\d)(\.\d{1,2})?$/).test(n)},isPositiveInteger:function(n){return/^[1-9]\d*$/g.test(n)},isTheSame:function(str1,str2){str1=this.myTrim(str1);str2=this.myTrim(str2);if(str1===str2){return true}else{return false}},isDate:function(str){str=this.myTrim(str);if(str==""){return "NULL"}var strarr=str.split("-");if(strarr.length==3){var date=base.util.getDate(str);if((date.getFullYear()>0&&strarr[0].length==4)&&date.getFullYear()==Number(strarr[0])&&date.getMonth()+1==Number(strarr[1])&&date.getDate()==Number(strarr[2])){return true}}return false},isNotNull:function(s){if(this.myTrim(s)==null||this.myTrim(s)==""){return "NULL"}else{return true}},isEmpty:function(s){if(typeof(s)=="undefined"||s==null||s==""||this.myTrim(s)==""){return true}else{return false}}};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值