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