javascript身份证检验正则表达式(支持15,18位及省份差别)

时间:2013-08-15 00:10:01  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读: /> 身份证号有15位和18位长度两种,15位的时候,都是数字,但是18位长度的时候可能有校验位(X),所以只校验数字是不够的了。 另外身份证号可以看出一个人的年龄,出生所在地(身份证所在地?)等等,这些对我们来讲都是有用的数据。
  正文:身份证号有15位和18位长度两种,15位的时候,都是数字,但是18位长度的时候可能有校验位(X),所以只校验数字是不够的了。

做这个其实不难,在网上多找一下总会有意外收获的.但是工欲善其事,必先利其器.我们需要了解一下身份证号的规则,知己知彼百战不殆。
身份证号有15位和18位长度两种,15位的时候,都是数字,但是18位长度的时候可能有校验位(X),所以只校验数字是不够的了。
另外身份证号可以看出一个人的年龄,出生所在地(身份证所在地?)等等,这些对我们来讲都是有用的数据。

 代码如下 复制代码

<script type='text/JavaScript' src='card.js(第二电脑网http://www.002pc.com)'></script>
</head>
<body>
请输入身份证号码:
<input name='card_no' type='text' id='card_no' value='1234567890' />
<input type='button' name='submit' value='click me' onclick='javascript:checkCard();' />
</body>
</html>/*
Author:yufulong
Blog:http://www.111cn.net
*/
var vcity={ 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:"国外"
           };

checkCard = function()
{
    var card = document.getElementById('card_no').value;
    //是否为空
    if(card === '')
    {
        alert('请输入身份证号,身份证号不能为空');
        document.getElementById('card_no').focus;
        return false;
    }
    //校验长度,类型
    if(isCardNo(card) === false)
    {
        alert('您输入的身份证号码不正确,请重新输入');
        document.getElementById('card_no').focus;
        return false;
    }
    //检查省份
    if(checkProvince(card) === false)
    {
        alert('您输入的身份证号码不正确,请重新输入');
        document.getElementById('card_no').focus;
        return false;
    }
    //校验生日
    if(checkBirthday(card) === false)
    {
        alert('您输入的身份证号码生日不正确,请重新输入');
        document.getElementById('card_no').focus();
        return false;
    }
    //检验位的检测
    if(checkParity(card) === false)
    {
        alert('您的身份证校验位不正确,请重新输入');
        document.getElementById('card_no').focus();
        return false;
    }
    alert('OK');
    return true;
};


javascript身份证检验正则表达式(支持15,18位及省份差别)》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/JavaScript/26689.html


关于《javascript身份证检验正则表达式(支持15,18位及省份差别)》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td