JS手机邮箱身份证号码的正则验证以及通过身份证号码获取出生年月日
// 正则验证
function regxVal (data, type) { const newData = data.replace(/\s+/g, '') let reg = '' switch (type) { case 'tel': // 手机号码 reg = /^1[3|4|5|7|8][0-9]\d{4,8}$/ break case 'email': // 邮箱 reg = /^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/ break case 'idCard': // 身份 // reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/ reg = /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/ break default: return false } return reg.test(newData) }
2、根据身份证号码自动获取出生日期
// 身份号码获取出生日期 function getBirthdayFromIdCard (idCard) { let birthday = '' if (idCard !== null && idCard !== '') { if (idCard.length === 15) { birthday = '19' + idCard.substr(6, 6) } else if (idCard.length === 18) { birthday = idCard.substr(6, 8) } birthday = birthday.replace(/(.{4})(.{2})/, '$1-$2-') } return birthday }