/* 验证pad还是pc */exportconstvaildatePc=function(){const userAgentInfo = navigator.userAgent
const Agents =['Android','iPhone','SymbianOS','Windows Phone','iPad','iPod']let flag =truefor(var v =0; v < Agents.length; v++){if(userAgentInfo.indexOf(Agents[v])>0){
flag =falsebreak}}return flag
}
10.判断身份证号码
/**
* 判断身份证号码
*/exportfunctioncardid(code){const list =[]let result =truelet msg =''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:'国外 '}if(!validatenull(code)){if(code.length ===18){if(!code ||!/(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(code)){
msg ='证件号码格式错误'}elseif(!city[code.substr(0,2)]){
msg ='地址编码错误'}else{// 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,'x']var sum =0var ai =0var wi =0for(var i =0; i <17; i++){
ai = code[i]
wi = factor[i]
sum += ai * wi
}if(parity[sum %11]!== code[17]){
msg ='证件号码校验位错误'}else{
result =false}}}else{
msg ='证件号码长度不为18位'}}else{
msg ='证件号码不能为空'}
list.push(result)
list.push(msg)return list
}
/**
* 判断是否为空
*/exportfunctionvalidatenull(val){if(typeof val ==='boolean'){returnfalse}if(typeof val ==='number'){returnfalse}if(val instanceofArray){if(val.length ===0)returntrue}elseif(val instanceofObject){if(JSON.stringify(val)==='{}')returntrue}else{if(val ==='null'|| val ==null|| val ==='undefined'|| val ===undefined|| val ===''){returntrue}returnfalse}returnfalse}