验证身份证号、手机号、Email、IPv4等

1.验证身份证号

 const isCardID = (sId: any) => {

    let result = false;

    let msg = '';

    let list = [result, msg];

    if (!/(^\d{15}$)|(^\d{17}(\d|X|x)$)/.test(sId)) {

      console.log('你输入的身份证长度或格式错误');

      result = true;

      msg = '你输入的身份证长度或格式错误';

      list = [result, msg];

      return list;

    }

    //身份证城市

    var aCity:any= {

      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))]) {

      console.log('你的身份证地区非法');

      result = true;

      msg = '你的身份证地区非法';

      list = [result, msg];

      return list;

    }

    // console.log(59,!aCity[parseInt(sId.substr(0, 2))]);

    // 出生日期验证

    var sBirthday = (

        sId.substr(6, 4) +

        '-' +

        Number(sId.substr(10, 2)) +

        '-' +

        Number(sId.substr(12, 2))

      ).replace(/-/g, '/'),

      d = new Date(sBirthday);

    if (

      sBirthday !=

      d.getFullYear() + '/' + (d.getMonth() + 1) + '/' + d.getDate()

    ) {

      console.log('身份证上的出生日期非法');

      result = true;

      msg = '身份证上的出生日期非法';

      list = [result, msg];

      return list;

    }

    // 身份证号码校验

    var sum = 0,

      weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2],

      codes = '10X98765432';

    for (var i = 0; i < sId.length - 1; i++) {

      sum += sId[i] * weights[i];

    }

    var last = codes[sum % 11]; //计算出来的最后一位身份证号码

    if (sId[sId.length - 1] != last) {

      console.log('你输入的身份证号非法');

      result = true;

      msg = '你输入的身份证号非法';

      list = [result, msg];

      return list;

    }

    return list;

  };

2.验证手机号

 const isPhone = (num: any) => {

    let reg =

      /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;

    return reg.test(num);

  }

3.验证Email地址

 const isEmail = (str: any) => {

    let reg = /^([a-zA-Z\d][\w-]{2,})@(\w{2,})\.([a-z]{2,})(\.[a-z]{2,})?$/;

    return reg.test(str);

  }

4.验证URL的校验

 const isUrl = (str: any) => {

    let reg =

      /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;

    return reg.test(str);

  }

5.验证IPv4

const isIPv4 = (str: any) => {

    let reg =

      /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;

    return reg.test(str);

  }

6.验证16进制颜色

 const isColor16Reg = (str: any) => {

    let reg = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;

    return reg.test(str);

  }

7.验证日期格式 YYYY-MM-DD/YYYY-MM-DD HH:mm:ss

// 验证日期格式 YYYY-MM-DD

  const isDate = (str: any) => {

    let reg = /^\d{4}(\-)\d{1,2}\1\d{1,2}$/;

    return reg.test(str);

  }

// 验证日期格式 YYYY-MM-DD HH:mm:ss

  const isMinutes = (str: any) => {

    let reg =

      /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;

    return reg.test(str);

  }

欢迎补充,一起进步。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值