美文网首页
身份证正则表达式

身份证正则表达式

作者: willeny | 来源:发表于2018-04-05 11:23 被阅读0次

    xxxxxx yyyy MM dd 375 0     十八位

    xxxxxx    yy MM dd   75 0     十五位

    地区: [1-9]\d{5}

    年的前两位: (18|19|([23]\d))1800-2399

    年的后两位: \d{2}

    月份: ((0[1-9])|(10|11|12)) 

    天数: (([0-2][1-9])|10|20|30|31)闰年不能禁止29+

    三位顺序码: \d{3}

    两位顺序码: \d{2}

    校验码: [0-9Xx]

    正则表达式

    十八位: ^[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}$

    总:

    ( ^[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}$)

    简单的JS验证示例

    functionisCardNo(card)

    {

            // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X

        var    reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;

            if(reg.test(card) === false)

            {

                    alert("身份证输入不合法");

                    return    false;

            }

    }

    相关文章

      网友评论

          本文标题:身份证正则表达式

          本文链接:https://www.haomeiwen.com/subject/qfbrhftx.html