classTypeFn{
isString(o) {//是否字符串
returnObject.prototype.toString.call(o).slice(8,-1)==='String'
}
isNumber(o) {//是否数字
returnObject.prototype.toString.call(o).slice(8,-1)==='Number'
}
isBoolean(o) {//是否boolean
returnObject.prototype.toString.call(o).slice(8,-1)==='Boolean'
}
isFunction(o) {//是否函数
returnObject.prototype.toString.call(o).slice(8,-1)==='Function'
}
isNull(o) {//是否为null
returnObject.prototype.toString.call(o).slice(8,-1)==='Null'
}
isUndefined(o) {//是否undefined
returnObject.prototype.toString.call(o).slice(8,-1)==='Undefined'
}
isObj(o) {//是否对象
returnObject.prototype.toString.call(o).slice(8,-1)==='Object'
}
isArray(o) {//是否数组
returnObject.prototype.toString.call(o).slice(8,-1)==='Array'
}
isDate(o) {//是否时间
returnObject.prototype.toString.call(o).slice(8,-1)==='Date'
}
isRegExp(o) {//是否正则
returnObject.prototype.toString.call(o).slice(8,-1)==='RegExp'
}
isError(o) {//是否错误对象
returnObject.prototype.toString.call(o).slice(8,-1)==='Error'
}
isSymbol(o) {//是否Symbol函数
returnObject.prototype.toString.call(o).slice(8,-1)==='Symbol'
}
isPromise(o) {//是否Promise对象
returnObject.prototype.toString.call(o).slice(8,-1)==='Promise'
}
isSet(o) {//是否Set对象
returnObject.prototype.toString.call(o).slice(8,-1)==='Set'
}
isFalse(o) {
if(o==''||o==undefined||o==null||o=='null'||o=='undefined'||o==0||o==false||o==NaN)returntrue
returnfalse
}
isTrue(o) {
return!this.isFalse(o)
}
isIos() {
varu=navigator.userAgent;
if(u.indexOf('Android')>-1||u.indexOf('Linux')>-1) {//安卓手机
//return "Android";
returnfalse
}elseif(u.indexOf('iPhone')>-1) {//苹果手机
//return "iPhone";
returntrue
}elseif(u.indexOf('iPad')>-1) {//iPad
//return "iPad";
returnfalse
}elseif(u.indexOf('Windows Phone')>-1) {//winphone手机
//return "Windows Phone";
returnfalse
}else{
returnfalse
}
}
isPC() {//是否为PC端
varuserAgentInfo=navigator.userAgent;
varAgents=["Android","iPhone",
"SymbianOS","Windows Phone",
"iPad","iPod"];
varflag=true;
for(varv=0; v<Agents.length; v++) {
if(userAgentInfo.indexOf(Agents[v])>0) {
flag=false;
break;
}
}
returnflag;
}
browserType(){
varuserAgent=navigator.userAgent;//取得浏览器的userAgent字符串
varisOpera=userAgent.indexOf("Opera")>-1;//判断是否Opera浏览器
varisIE=userAgent.indexOf("compatible")>-1&&userAgent.indexOf("MSIE")>-1&&!isOpera;//判断是否IE浏览器
varisIE11=userAgent.indexOf('Trident')>-1&&userAgent.indexOf("rv:11.0")>-1;
varisEdge=userAgent.indexOf("Edge")>-1&&!isIE;//判断是否IE的Edge浏览器
varisFF=userAgent.indexOf("Firefox")>-1;//判断是否Firefox浏览器
varisSafari=userAgent.indexOf("Safari")>-1&&userAgent.indexOf("Chrome")==-1;//判断是否Safari浏览器
varisChrome=userAgent.indexOf("Chrome")>-1&&userAgent.indexOf("Safari")>-1;//判断Chrome浏览器
if(isIE) {
varreIE=newRegExp("MSIE (\\d+\\.\\d+);");
reIE.test(userAgent);
varfIEVersion=parseFloat(RegExp["$1"]);
if(fIEVersion==7)return"IE7"
elseif(fIEVersion==8)return"IE8";
elseif(fIEVersion==9)return"IE9";
elseif(fIEVersion==10)return"IE10";
elsereturn"IE7以下"//IE版本过低
}
if(isIE11)return'IE11';
if(isEdge)return"Edge";
if(isFF)return"FF";
if(isOpera)return"Opera";
if(isSafari)return"Safari";
if(isChrome)return"Chrome";
}
checkStr(str,type) {
switch(type) {
case'phone'://手机号码
return/^1[3|4|5|6|7|8][0-9]{9}$/.test(str);
case'tel'://座机
return/^(0\d{2,3}-\d{7,8})(-\d{1,4})?$/.test(str);
case'card'://身份证
return/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(str);
case'pwd'://密码以字母开头,长度在6~18之间,只能包含字母、数字和下划线
return/^[a-zA-Z]\w{5,17}$/.test(str)
case'postal'://邮政编码
return/[1-9]\d{5}(?!\d)/.test(str);
case'QQ'://QQ号
return/^[1-9][0-9]{4,9}$/.test(str);
case'email'://邮箱
return/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(str);
case'money'://金额(小数点2位)
return/^\d*(?:\.\d{0,2})?$/.test(str);
case'URL'://网址
return/(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/.test(str)
case'IP'://IP
return/((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))/.test(str);
case'date'://日期时间
return/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2})(?:\:\d{2}|:(\d{2}):(\d{2}))$/.test(str)||/^(\d{4})\-(\d{2})\-(\d{2})$/.test(str)
case'number'://数字
return/^[0-9]$/.test(str);
case'english'://英文
return/^[a-zA-Z]+$/.test(str);
case'chinese'://中文
return/^[\u4E00-\u9FA5]+$/.test(str);
case'lower'://小写
return/^[a-z]+$/.test(str);
case'upper'://大写
return/^[A-Z]+$/.test(str);
case'HTML'://HTML标记
return/<("[^"]*"|'[^']*'|[^'">])*>/.test(str);
default:
returntrue;
}
}
//严格的身份证校验
isCardID(sId) {
if(!/(^\d{15}$)|(^\d{17}(\d|X|x)$)/.test(sId)) {
alert('你输入的身份证长度或格式错误')
returnfalse
}
//身份证城市
varaCity={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:"国外"};
if(!aCity[parseInt(sId.substr(0,2))]) {
alert('你的身份证地区非法')
returnfalse
}
//出生日期验证
varsBirthday=(sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2))).replace(/-/g,"/"),
d=newDate(sBirthday)
if(sBirthday!=(d.getFullYear()+"/"+(d.getMonth()+1)+"/"+d.getDate())) {
alert('身份证上的出生日期非法')
returnfalse
}
//身份证号码校验
varsum=0,
weights=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2],
codes="10X98765432"
for(vari=0; i<sId.length-1; i++) {
sum+=sId[i]*weights[i];
}
varlast=codes[sum%11];//计算出来的最后一位身份证号码
if(sId[sId.length-1]!=last) {
alert('你输入的身份证号非法')
returnfalse
}
returntrue
}
}