js从字符串中提取身份证号,连续18位数字

<!DOCTYPE html>
<html>
<head>
    <title>提取身份证号</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
</head>
<body>
<div id="one">
    林芳德 30233212956620120x 男 26岁  
    李云飞 302332129566201201 女 30岁  
    龚丽芬 302332129566201202 男 28岁  
    王晋珺 30233212956620120X 男 20岁 
</div>

<script type="text/javascript">
function getIDcard(string){
    var reg=/[0-9,X,x]/;
    var num = 0;
    var IDarr = "";
    var arr = string.split("");
    for (var i = 0; i < arr.length; i++) {
        var item = arr[i];
        if(reg.test(item)){
            num++;
            IDarr += ""+item;
            if(num == 18){
                console.log(IDarr.toString())
            }
        }else{
            num = 0;
            IDarr = "";
        }
    }
}

var stringone = document.getElementById("one").innerHTML;
getIDcard(stringone);
</script>
</body>
</html>

 

posted @ 2016-07-12 16:52  sunbey80  阅读(4191)  评论(0编辑  收藏  举报