js小工具篇-验证

来源:互联网 发布:詹姆斯2017季后赛数据 编辑:程序博客网 时间:2024/05/22 00:26

前言

在开发中,会重复写很多很简单的小代码块。比如校验这种,而正因为简单,也为了轻便很多时候都不会引用一些工具库的。但每次都重复写都觉得笨死了。所以我想把这些代码整理一下,能独立做成小包,且都是用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}}};
原创粉丝点击