js身份证验证效果demo示例(整理)

简介: js身份证验证效果demo示例(整理)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js验证身份证</title>
    <script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
    <div class="identity">
        身份证号码:<input type="text" class="input" name="num" id="verify" />
        <input type="button" value="验证" onclick='check_verify()' />
    </div>
</body>
<script>
    function verification(idCard) {
        idCard = idCard.replace(/ /g, "");
        if (idCard.length == 15) {
            return isValidityBrithBy15IdCard(idCard);
        } else if (idCard.length == 18) {
            var a_idCard = idCard.split("");
            if (isValidityBrithBy18IdCard(idCard) && validate(a_idCard)) {
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
        return true;
    }
    //判断身份证号18位时最后一位是否正确
    function validate(a_idCard) {
        var ValideCode = [1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2]; //身份证验证位值.10代表X  
        var yinzi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1];  
        var sum = 0;
        if (a_idCard[17].toLowerCase() == 'x') {
            a_idCard[17] = 10;
        }
        for (var i = 0; i < 17; i++) {
            sum += yinzi[i] * a_idCard[i];
        }
        var valCodePosition = sum % 11;
        if (a_idCard[17] == ValideCode[valCodePosition]) {
            return true;
        } else {
            return false;
        }
    }
    function isValidityBrithBy18IdCard(idCard18) {
        var year = idCard18.substring(6, 10);
        var month = idCard18.substring(10, 12);
        var day = idCard18.substring(12, 14);
        var temp_date = new Date();
        temp_date.setYear(year);
        temp_date.setMonth(parseInt(month, 10) - 1);
        temp_date.setDate(parseInt(day, 10));
        if (temp_date.getFullYear() != parseInt(year, 10) || temp_date.getMonth() != parseInt(month, 10) - 1 || temp_date.getDate() != parseInt(day, 10)) {
            return true;
        } else {
            return true;
        }
    }
    function isValidityBrithBy15IdCard(idCard15) {
        var year = idCard15.substring(6, 8);
        var month = idCard15.substring(8, 10);
        var day = idCard15.substring(10, 12);
        var temp_date = new Date();
        temp_date.setYear(year);
        temp_date.setMonth(parseInt(month, 10) - 1);
        temp_date.setDate(parseInt(day, 10));
        if (temp_date.getYear() != parseInt(year, 10) || temp_date.getMonth() != parseInt(month, 10) - 1 || temp_date.getDate() != parseInt(day, 10)) {
            return true;
        } else {
            return true;
        }
    }
    function  check_verify() {
        var verify = $("#verify").val();
        var res = verification(verify);
        if (res == true) {
            alert('正确');
        } else {
            alert('错误');
        }
    }
</script>
</html>
相关文章
|
2月前
|
移动开发 JavaScript 前端开发
JavaScript:验证输入
【9月更文挑战第02天】
43 6
|
2月前
|
算法 JavaScript 前端开发
第一个算法项目 | JS实现并查集迷宫算法Demo学习
本文是关于使用JavaScript实现并查集迷宫算法的中国象棋demo的学习记录,包括项目运行方法、知识点梳理、代码赏析以及相关CSS样式表文件的介绍。
第一个算法项目 | JS实现并查集迷宫算法Demo学习
|
1月前
|
JavaScript 前端开发
JS如何把身份证处理成中间几位变成*号呢
JS如何把身份证处理成中间几位变成*号呢
30 1
|
2月前
|
JavaScript 前端开发
JS配合CSS3实现动画和拖动小星星小Demo
本文通过代码示例展示了如何使用JavaScript和CSS3实现动画效果和拖动小星星的交互效果,包括文字掉落动画和鼠标拖动产生小星星动画的实现方法。
45 0
JS配合CSS3实现动画和拖动小星星小Demo
|
2月前
|
JavaScript 前端开发 API
JavaScript 验证 API
JavaScript 验证 API
28 2
|
2月前
|
前端开发 JavaScript 开发者
Express.js与前端框架的集成:React、Vue和Angular的示例与技巧
本文介绍了如何将简洁灵活的Node.js后端框架Express.js与三大流行前端框架——React、Vue及Angular进行集成,以提升开发效率与代码可维护性。文中提供了详细的示例代码和实用技巧,展示了如何利用Express.js处理路由和静态文件服务,同时在React、Vue和Angular中构建用户界面,帮助开发者快速掌握前后端分离的开发方法,实现高效、灵活的Web应用构建。
51 3
|
3月前
|
前端开发 JavaScript 开发者
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
本文提供了一个前端JS按钮点击事件、弹出式窗口和遮罩层的实战示例,包括HTML、CSS和JavaScript的具体实现代码,以及功能解析,演示了如何实现按钮点击后触发弹窗显示和遮罩层,并在2秒后自动关闭或点击遮罩层关闭弹窗的效果。
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
|
3月前
|
编解码 JavaScript 前端开发
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
105 1
|
3月前
|
JavaScript 前端开发
【Azure Developer】在App Service上放置一个JS页面并引用msal.min.js成功获取AAD用户名示例
【Azure Developer】在App Service上放置一个JS页面并引用msal.min.js成功获取AAD用户名示例
|
3月前
|
前端开发 微服务 API
微服务浪潮下的JSF革新:如何在分散式架构中构建统一而强大的Web界面
【8月更文挑战第31天】随着微服务架构的兴起,企业将应用拆分成小型、独立的服务以提高系统可维护性和可扩展性。本文探讨如何在微服务架构下构建和部署JavaServer Faces (JSF) 应用,通过RESTful服务实现前后端分离,提升灵活性和适应性。
59 0