//Date.prototype.format = function(fmt) { export function dateFormat(date,fmt) { var o = { "M+" : date.getMonth()+1, //月份 "d+" : date.getDate(), //日 "h+" : date.getHours(), //小时 "m+" : date.getMinutes(), //分 "s+" : date.getSeconds(), //秒 "q+" : Math.floor((this.getMonth()+3)/3), //季度 "S" : date.getMilliseconds() //毫秒 }; if(/(y+)/.test(fmt)) { fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length)); } for(var k in o) { if(new RegExp("("+ k +")").test(fmt)){ fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); } } return fmt; }
//校验手机号码
export function validatePhoneNumber(phone){
let phoneCodeVerification = /^[1][3,4,5,7,8][0-9]{9}$/; // /^1[34578]\d{9}$/.test(phone)
return phoneCodeVerification.test(phone);
}
//固定电话号码
export function validateTelNumber(tel){
return /^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(tel);
}
//身份证
-
//身份证正则表达式(15位)
-
isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
-
//身份证正则表达式(18位)
-
isIDCard2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;
-
身份证正则合并:(^\d{15}$)|(^\d{17}([0-9]|X)$)
export function validateID(number){
return /(^\d{15}$)|(^\d{17}([0-9]|X)$)/i.test(number)
}
严格校验身份证
export function checkIDCard(idcode){
const weightFactor=[ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ] //
const code=`${idcode}`
const last =idcode[17]//
const seventeen=code.substring(0,17)
//ios 7064:1983.MOD 11-2
//判断最后一位校验码是否正确
const arr=seventeen.split('')
const len=arr.lenght
let num=0
for(let i;i<len;i++){
num +=arr[i]*weightFactor[i]
}
//获取余数
const resisue=num%11
const lastNo=checkCode[resisue]
//正则
/*
第一位不可能时0
第二位到第六位可以时0-9
第七位到低十位时年份,所以七八位是19或20
十一位和十二位是月,这两位是01-12之间的数值
十三和十四位十日期 从01--31
十五 十六十七 是0-9
十八0-9或者X
*/
const idcardPatter=/^[1-9][0-9]{5}([1][9][0-9]{2}|[2][0][0|1][0-9])([0][1-9]|[1][0|1|2])([0][1-9]|[1|2][0-9]|[3][0|1])[0-9]{3}([0-9]|[X])$/
//18位 /[1-9]\d{5}(((1[9|8])\d{2})|(20[0-1]\d))((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)/
//15位/[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}/
const format=idcardPatter.test(idcode)
//校验码和格式同时正确才算合法
return !!(last===lastNo&&format)
}