jsp:

<div class=""><p>姓名</p><input type="text" id="userName" name="userName" value="${user.userName}" />
</div>
<div class=""><p>身份证号</p><input type="text" id="idCard"  name="idCard" value="${user.idCard}"/>
</div>
<input type="button" name="submit" id="submit" value="提交信息"  class="">

js:
$(document).ready(function(){$("#submit").click(function(){
var userName = $.trim($("#userName").val());//用户名
var cardId = $.trim($("#cardId").val());//身份证号码

if (userName == "" || userName == null) {alert('请输入姓名!');return;}if (!/^[\u4e00-\u9fa5]{2,4}$/.test(userName)) {alert('姓名格式错误!');$("#userName").val("");return;}if (cardId == "" || cardId == null) {alert('请输入身份证号!');return;}
 // 身份证验证
    function checkIdcard(num) {num = num.toUpperCase();// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X。
        if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num))) {// alert('输入的身份证号长度不对,或者号码不符合规定!\n15位号码应全为数字,18位号码末位可以为数字或X。');
            alert('请输入正确的身份证号码!');return false;}// 校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。
        // 下面分别分析出生日期和校验位
        var len, re;len = num.length;if (len == 15) {re = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/);var arrSplit = num.match(re);// 检查生日日期是否正确
            var dtmBirth = new Date('19' + arrSplit[2] + '/' + arrSplit[3] + '/'
                + arrSplit[4]);var bGoodDay;bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2]))&& ((dtmBirth.getMonth() + 1) == Number(arrSplit[3]))&& (dtmBirth.getDate() == Number(arrSplit[4]));if (!bGoodDay) {alert('输入的身份证号里出生日期不对!');return false;} else {// 将15位身份证转成18位
                // 校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。
                var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5,8, 4, 2);var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4','3', '2');var nTemp = 0, i;num = num.substr(0, 6) + '19' + num.substr(6, num.length - 6);for (i = 0; i < 17; i++) {nTemp += num.substr(i, 1) * arrInt[i];}num += arrCh[nTemp % 11];return true;}}if (len == 18) {re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/);var arrSplit = num.match(re);// 检查生日日期是否正确
            var dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/"
                + arrSplit[4]);var bGoodDay;bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2]))&& ((dtmBirth.getMonth() + 1) == Number(arrSplit[3]))&& (dtmBirth.getDate() == Number(arrSplit[4]));if (!bGoodDay) {// alert('输入的身份证号里出生日期不对!');
               alert('请输入正确的身份证号码!');return false;} else {// 检验18位身份证的校验码是否正确。
                // 校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。
                var valnum;var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5,8, 4, 2);var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4','3', '2');var nTemp = 0, i;for (i = 0; i < 17; i++) {nTemp += num.substr(i, 1) * arrInt[i];}valnum = arrCh[nTemp % 11];if (valnum != num.substr(17, 1)) {// alert('18位身份证的校验码不正确!应该为:' + valnum);
                    alert('请输入正确的身份证号码!');return false;}return true;}}return false;}});
});
 if (!checkIdcard(cardId)) {    return;
    }
}


js姓名和身份证验证相关推荐

  1. JS最新的身份证验证代码

    <script>function reproving() { //验证身份证var code=$("#cardId").val().toUpperCase();$(&q ...

  2. js实现完美身份证号有效性验证+身份证与姓名匹配

    /* 根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位 ...

  3. js验证真实姓名与身份证号,手机号

    最近的项目中用的需要调用实名认证的接口,实名认证接口价格相比短信而言高了不是几分钱,所以说调用实名认证的条件就要严格把关,因此用到js验证真实姓名与js验证身份证号. 进入正题 1.js验证真实姓名 ...

  4. js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/)(str的方法substr)...

    js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/)(str的方法substr) 一.总结 1.|符号的使用:var reg=/^\d ...

  5. [前台]---js+jquery校验姓名,手机号,身份证号

    记一次前台验证姓名,手机号,身份证号的代码,复制即用,前提是有引入jquery. var name = "姓名"if(!is_forbidName(name)){alert(&qu ...

  6. 银行卡四元素校验API 验证姓名手机号码身份证号码银行卡号是否一致

    银行卡四元素校验API,检测输入的姓名.手机号码.身份证号码.银行卡号是否一致.通过https://www.juhe.cn/docs/api/id/213申请APPKEY 1.银行卡四元素检测 接口地 ...

  7. 姓名,身份证input验证过滤

    在项目中总会出现一些身份校验的需求,今天跟大家说一下姓名和身份证的验证方法 姓名验证:需求,可输入英文.汉字 for(let i=0;i<e.length;i++){if(/^[a-zA-Z\u ...

  8. 银行卡三元素检测 根据姓名+身份证号+银行卡卡号验证信息是否匹配

    银行卡检测api,根据姓名+身份证号+银行卡卡号验证信息是否匹配. 接口名称:银行卡检测api 接口平台:聚合数据 接口地址:http://v.juhe.cn/verifybankcard3/quer ...

  9. 如何验证手机三要素(手机号、姓名、身份证)

    随着网络发展,人们越来越依赖手机进行重要信息的传输,但是一旦手机系统出现问题,敏感信息就有可能被窃取.因此,为了保护信息安全,人们开始开发三要素验证系统,以此来保护手机信息的安全. 手机三要素验证系统 ...

最新文章

  1. 高中计算机二级考试是考什么时候,浅谈有效实施高中计算机教学的方法_计算机二级考试时间...
  2. 计算机编辑功能在哪,注册表编辑器怎么打开-电脑的剪切板在哪里 电脑剪切板里面的内容怎么修改...
  3. php errorcode,php中pdo错误处理方法详解
  4. 程序员初试和复试_程序员因肌肉发达面试被质疑能力,网友:这做程序员有啥关系呢?...
  5. 多线程编程注意点(持续更新)
  6. MS17-010漏洞复现
  7. 【转】win32窗口的大小,居中,拖动
  8. C/C++混淆点-字符串指针
  9. Metadata Lock原理4
  10. 计算机图书管理系统测试用例,图书管理系统测试用例设计.doc
  11. Moveit更换默认规划器KDL为TraceIk
  12. 简单的网络打印的配置与管理(IP地址...)
  13. 舔一舔 · 肌霸Kafka
  14. 单例模式java概括_单例模式中总有几个歪门邪道的问题要知道!
  15. netty 服务端主动向客户端发信息
  16. 什么是马甲包?有什么作用?
  17. thinkphp5使用腾讯云发送短信验证码服务
  18. linux下WMB通过ODBC连接DB2数据库
  19. 【毕业设计】深度学习安检管制物品识别检测系统 - python opencv YOLO
  20. 计算机 五大算法类型,计算机算法设计五大常用算法的分析及实例.docx

热门文章

  1. 用php实现md5解密源码,亲测可用
  2. 备份和恢复IMail数据/IMail的服务端口
  3. 大公司都在做的大数据平台,为你精选这一份书单
  4. 微信小程序weapp 导入calendar问题
  5. 2017年第一次软工实践随笔--031502341
  6. python中fig_Python fig
  7. 大学生网络欺负与父母教养方式的关系研究
  8. 安装Win7 正在启动Windows 卡死
  9. 中再集团,行业云平台让保险更保险
  10. 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入10个学生数据 要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩)