撰写时间:2019年2月25日星期六

身份证验证,这里这个验证功能就是根据身份证号的组成进行判断验证:公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码,顺序码表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。.校验码根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码,通过对这些数字的判断,然后就可以判断当前输入的这个身份证是什么地区的,哪年哪月哪日出生的,是男是男是女,是不是有效的身份证号,随便打打一个格式正确的身份证也是会识别出来不是有效的身份证号。下面要说的主要就验证身份证的性别,跟是否为有效身份证号。

两个验证,自动识别男女,如果不是真实有效的身份证号显示不是有效的身份证。代码如下:

//=================================== 判断身份证性别 =====================================function showBirthday(val) {if (15 == val.length) { //15位身份证号码if (parseInt(val.charAt(14) / 2) * 2 != val.charAt(14))document.all.Write_Sex.value = '男', $("#Sex").empty().append('男');elsedocument.all.Write_Sex.value = '女', $("#Sex").empty().append('女');}if (18 == val.length) { //18位身份证号码if (parseInt(val.charAt(16) / 2) * 2 != val.charAt(16))document.all.Write_Sex.value = '男', $("#Sex").empty().append('男');elsedocument.all.Write_Sex.value = '女', $("#Sex").empty().append('女');if (val.charAt(17) != IDCard(val)) {$("#TS").html("不是有效身份证!");}else {//document.all.Write_IDNumber.style.backgroundColor = 'white';$("#TS").html("");}}if (15 != val.length && 18 != val.length) {$("#TS").html("不是有效身份证!");}if (0 == val.length) {$("#TS").html("");}if (RealNameCertificationID != 0) {if (15 == val.length) { //15位身份证号码if (parseInt(val.charAt(14) / 2) * 2 != val.charAt(14))document.all.Sex.value = '男', $("#Sex").empty().append('男');elsedocument.all.Sex.value = '女', $("#Sex").empty().append('女');}if (18 == val.length) { //18位身份证号码if (parseInt(val.charAt(16) / 2) * 2 != val.charAt(16))document.all.Sex.value = '男', $("#Sex").empty().append('男');elsedocument.all.Sex.value = '女', $("#Sex").empty().append('女');}}}//=================================== 18位身份证号最后一位校验 =====================================function IDCard(Num) {if (Num.length != 18)return false;var x = 0;var y = ''; for (i = 18; i >= 2; i--)x = x + (square(2, (i - 1)) % 11) * parseInt(Num.charAt(19 - i - 1));x %= 11;y = 12 - x;if (x == 0)y = '1';if (x == 1)y = '0';if (x == 2)y = 'X';return y;}//=================================== 求得x的y次方 =====================================function square(x, y) {var i = 1;for (j = 1; j <= y; j++)i *= x;return i;}

这段代码基本就是一些判断,根据身份证的组成判断,对身份证的验证码进行计算验证。
如果需要识别地区的话自行根据需要判断前六位数得出地区信息

.net mvc身份证验证相关推荐

  1. mvc 过滤器验证身份 排除指定不验证action

    using System; using System.Web.Mvc; namespace Test.Web { /// <summary> /// 身份证验证过滤器 /// </s ...

  2. MVC Model验证总结 @Html.ValidationSummary(true)

    原文:https://blog.csdn.net/wybshyy/article/details/52064253 ASP.NET MVC3中的Model是自验证的,这是通过.NET4的System. ...

  3. ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

    在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图.但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上去更好.打开Models \ Movie ...

  4. 艾伟_转载:ASP.NET MVC数据验证

    关于ASP.NET MVC的验证,用起来很特别,因为MS的封装,使人理解起来很费解.也可能很多人都在Scott Guthrie等人写的一本<ASP.NET MVC 1.0>书中,见过Ner ...

  5. ASP.NET MVC 2 验证

    来源:http://www.cnblogs.com/jhxk/articles/2612885.html  只为把自己觉的好的存起来 对用户输入的验证以及强制业务规则/逻辑是大多数web应用的核心需求 ...

  6. MVC Model验证

    [Required(ErrorMessage = "证件号不能为空!")][RegularExpression(@"(^\d{18}$)|(^\d{15}$)|(^\d{ ...

  7. ASP.NET MVC数据验证(上)

    关于ASP.NET MVC的验证,用起来很特别,因为MS的封装,使人理解起来很费解.也可能很多人都在Scott Guthrie等人写的一本<ASP.NET MVC 1.0>书中,见过Ner ...

  8. Spring MVC自定义验证注释

    在上一教程中,我展示了如何使用注释来验证表单 . 这对于简单的验证非常有用,但是最终,您需要验证一些现成的注释中没有的自定义规则. 例如,如果您需要根据输入的出生日期来验证用户已超过21岁,或者可能需 ...

  9. Asp.Net MVC 身份验证-Forms

    Asp.Net MVC 身份验证-Forms 在MVC中对于需要登录才可以访问的页面,只需要在对应的Controller或Action上添加特性[Authorize]就可以限制非登录用户访问该页面.那 ...

  10. MVC数据验证原理及自定义ModelValidatorProvider实现无编译修改验证规则和错误信息...

    Asp.net MVC中的提供非常简单易用的数据验证解决方案. 通过System.ComponentModel.DataAnnotations提供的很多的验证规则(Required, StringLe ...

最新文章

  1. 图解|什么是缺页错误Page Fault
  2. IE内嵌google chrome frame解决浏览器兼容问题
  3. window mobile 5.0截获来电
  4. SAP CRM OData multiple origin Composition的测试
  5. android 预约挂号代码_告别排队!用Python定时自动挂号和快捷查询化验报告
  6. leetcode18. 四数之和
  7. 我的程序跑了 60 多小时,就是为了让你看一眼 JDK 的 BUG 导致的内存泄漏
  8. linux下last与lastb命令详解
  9. 加速前进!华为已在全球多地注册“鸿蒙”商标
  10. 三维绘图辅助设计软件AutoCAD 2023 for Mac
  11. jsBarCode生成条码并且打印的问题
  12. golang操作sqlite3
  13. wps交叉引用更新域遇到错误!未找到(错误!未定义)
  14. Xcode6解决storyboard没有箭头的问题
  15. 【图像重建】基于Split Bregman实现稀疏图像重建附matlab代码
  16. JS 正则表达式 数字和小数点 非负数 保留两位小数点
  17. 用文心大模型生成剪纸风格的城市插画
  18. ArcGIS学习教程(一)
  19. 电子工程师的自我修养 - 锂电池的测量电路
  20. 博士毕业论文英文参考文献换行_一文解决中英参考文献混排问题

热门文章

  1. imnoise3.m
  2. GB35114—②、公共安全视频监控联网信息安全系统互联结构
  3. uniapp使用高德地图
  4. 经过了多种方法的尝试,终于找到Quartus破解成功但是没有办法编译的解决方法
  5. nginx源码下载、编译和安装
  6. 速度传感器330104-00-06-10-02-00
  7. 史上最全高级Java教程总结版(强烈建议收藏)
  8. 简明的wifi通信协议介绍
  9. 阿里云VOD 视频点播(一)、nuxt视频上传,视频播放
  10. UDP协议和TCP协议