123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- function IdentityCodeValid(code) {
- // 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: "国外"
- // };
- // var tip = "ok";
- // var pass = true;
- // if (!code || !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[12])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i.test(code)) {
- // tip = "身份证号格式错误";
- // pass = false;
- // } else if (!city[code.substr(0, 2)]) {
- // tip = "身份地址编码错误";
- // pass = false;
- // } else {
- // //18位身份证需要验证最后一位校验位
- // if (code.length == 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];
- // var sum = 0;
- // var ai = 0;
- // var wi = 0;
- // for (var i = 0; i < 17; i++) {
- // ai = code[i];
- // wi = factor[i];
- // sum += ai * wi;
- // }
- // var last = parity[sum % 11];
- // if (parity[sum % 11] != code[17]) {
- // tip = "校验位错误";
- // pass = false;
- // }
- // }
- // }
- // if (!pass)
- // console.log(tip)
- let idcardTest = /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/
- if (!idcardTest.test(code)) {
- return false;
- } else {
- return true;
- }
- }
- //手机号校验
- function isPoneAvailable(poneInput) {
- var myreg = /^[1][3-9][0-9]{9}$/;
- if (!myreg.test(poneInput)) {
- return false;
- } else {
- return true;
- }
- }
- //生日
- function getBirthdatByIdNo(iIdNo) {
- var tmpStr = "";
- iIdNo = iIdNo.replace(/^\s+|\s+$/g, "");
- if (iIdNo.length == 15) {
- tmpStr = iIdNo.substring(6, 12);
- tmpStr = "19" + tmpStr;
- tmpStr = tmpStr.substring(0, 4) + "/" + tmpStr.substring(4, 6) + "/" + tmpStr.substring(6)
- } else {
- tmpStr = iIdNo.substring(6, 14);
- tmpStr = tmpStr.substring(0, 4) + "/" + tmpStr.substring(4, 6) + "/" + tmpStr.substring(6)
- }
- return tmpStr;
- }
- function getSex(idcard) {
- let sex = ''
- if (parseInt(idcard.substr(16, 1)) % 2 == 1) {
- sex = '男'
- } else {
- sex = '女'
- }
- return sex
- }
- function authCode(str){
- let length = str.replace(/\s/g,"").length
- return length
- }
- module.exports = {
- IdentityCodeValid,
- isPoneAvailable,
- getBirthdatByIdNo,
- getSex,
- authCode
- }
|