大陆身份证正则表达式

idCardValid(id) {// 1 "验证通过!", 0 //校验不通过var format = /^(([1][1-5])|([2][1-3])|([3][1-7])|([4][1-6])|([5][0-4])|([6][1-5])|([7][1])|([8][1-2]))\d{4}(([1][9]\d{2})|([2]\d{3}))(([0][1-9])|([1][0-2]))(([0][1-9])|([1-2][0-9])|([3][0-1]))\d{3}[0-9xX]$/;//号码规则校验if (!format.test(id)) {return { 'status': 0, 'msg': '身份证号码不合规' };}//区位码校验//出生年月日校验   前正则限制起始年份为1900;var year = id.substr(6, 4),//身份证年month = id.substr(10, 2),//身份证月date = id.substr(12, 2),//身份证日time = Date.parse(month + '-' + date + '-' + year),//身份证日期时间戳datenow_time = Date.parse(new Date()),//当前时间戳dates = (new Date(year, month, 0)).getDate();//身份证当月天数if (time > now_time || date > dates) {return { 'status': 0, 'msg': '出生日期不合规' }}//校验码判断var c = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);   //系数var b = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');  //校验码对照表var id_array = id.split("");var sum = 0;for (var k = 0; k < 17; k++) {sum += parseInt(id_array[k]) * parseInt(c[k]);}if (id_array[17].toUpperCase() != b[sum % 11].toUpperCase()) {return { 'status': 0, 'msg': '身份证校验码不合规' }}return { 'status': 1, 'msg': '校验通过' }},

港澳身份证正则表达式:

isHKCard(card) {// 港澳居民来往内地通行证// 规则: H/M + 10位或6位数字// 样本: H1234567890var reg = /^([A-Z]\d{6,10}(\(\w{1}\))?)$/;if (reg.test(card) === false) {return { 'status': 0, 'msg': '港澳居民来往内地通行证号码不合规' };} else {return { 'status': 1, 'msg': '校验通过' };}},

台湾身份证正则表达式:

isTWCard(card) {// 台湾居民来往大陆通行证// 规则: 新版8位或18位数字, 旧版10位数字 + 英文字母// 样本: 12345678 或 1234567890Bvar reg = /^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$/;if (reg.test(card) === false) {return { 'status': 0, 'msg': '台湾居民来往大陆通行证号码不合规' };} else {return { 'status': 1, 'msg': '校验通过' };}},

护照正则表达式:

isPassPortCard(card) {// 护照// 规则: 14/15开头 + 7位数字, G + 8位数字, P + 7位数字, S/D + 7或8位数字,等// 样本: 141234567, G12345678, P1234567var reg = /^([a-zA-z]|[0-9]){5,17}$/;if (reg.test(card) === false) {return { 'status': 0, 'msg': '护照号码不合规' };} else {return { 'status': 1, 'msg': '校验通过' };}},

军官证正则表达式:

isOfficerCard(card) {// 军官证// 规则: 军/兵/士/文/职/广/(其他中文) + "字第" + 4到8位字母或数字 + "号"// 样本: 军字第2001988号, 士字第P011816X号var reg = /^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$/;if (reg.test(card) === false) {return { 'status': 0, 'msg': '军官证号不合规' };} else {return { 'status': 1, 'msg': '校验通过' };}},

户口本正则表达式:

isAccountCard(card) {// 户口本// 规则: 15位数字, 18位数字, 17位数字 + X// 样本: 441421999707223115var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;if (reg.test(card) === false) {return { 'status': 0, 'msg': '户口本号码不合规' };} else {return { 'status': 1, 'msg': '校验通过' };}}

大陆、港澳台身份证、护照、军官证、户口本的正则表达式相关推荐

  1. 我国大陆居民身份证Java验证

    关于身份证验证这一点做到身份证的编码有效性,只有是否真实存在,就算有国家居民身份证数据库也不见的真的符合事实,毕竟一人多证,或者有人无证的基本现象是存在的. 做项目中有用到用户身份证验证,那么尽最大努 ...

  2. C# 中国大陆二代身份证号生成及格式验证

    中国大陆二代身份证18位身份证规则计算图: private void Form1_Load(object sender, EventArgs e){string[] v = QueryIDCard(& ...

  3. Java:15位或18位居民身份证号码通用校验(正则表达式、日期格式、末尾校验码)

    身份证号码校验,正则表达式校验.日期格式校验.18位身份证末尾校验码校验 前六位省市县号码变更频繁,这里就不做校验 import java.text.ParseException; import ja ...

  4. 身份证号和手机号的正则表达式

    1. 身份证号正则表达式如下: /^([1-9]\d{5})(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$ ...

  5. 身份证 护照等js校验

     function checkName(text){ //传入对象  if ($(text).val() != '') {  var a =$(text).val();  var msg;   a ...

  6. 【algorithm】源码详解中国大陆新身份证号码算法

    之前印象身份证最后一位奇数为男性,偶数为女性.看了下算法才明白,这指的是老身份证15位,18位身份证末尾加了一个校验码,用来验证是否为真实身份证号. 先看中国大陆身份证结构: 1.号码的结构 公民身份 ...

  7. Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码正则表达式...

    Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正则表达式 ============================== ©Copyright 蕃薯耀 2017年11 ...

  8. Regex:身份证号码和车牌号码正则表达式

    实名认证时,常会用到身份证号码和车牌号码的正则表达式匹配验证.简单高效. 经过一次一次的测试,去除多种匹配的表达式,得出相对正确的正则表达式. 1.车牌号正则匹配 车牌号组成规则 1.民用常规车牌号 ...

  9. jq验证大陆/港澳台手机号正则

    \^([6|9])\d{7}$|^[0][9]\d{8}$|^[6]([8|6])\d{5}$\ //港澳台 /^1[34578]\d{9}$/ //大陆

  10. 大陆居民身份证验证方法(java)

    1.设置接口 @Constraint(validatedBy = ChineseIdNumberValidator.class) @Target({ElementType.METHOD,Element ...

最新文章

  1. 详细介绍!Linux 上几种常用的文件传输方式
  2. 面试官:说说Spring Cloud底层原理?
  3. C语言之详解#ifdef等宏
  4. 对Faster R-CNN的理解(1)
  5. 数据不平衡处理_如何处理多类不平衡数据说不可以
  6. git 可视化工具_Git的基本使用(二)
  7. 分步表单_表单设计-掌握表单设计方法(表单体验篇)
  8. OKR和KPI的区别是啥?
  9. React+Webpack+Eslint+Babel构建React脚手架
  10. matplotlib -work4
  11. 关于开放源代码的定义
  12. 屏幕录制软件哪个好?
  13. 思科1242 AP无法连接到无线控制器
  14. Nickel 28就青山控股集团镍锍生产计划发表评论
  15. 【Vertica系列】一、安装建库
  16. ps和php有什么关系,lr和ps有什么区别
  17. 虚拟私助理要来了,五个行业将受影响人 | 分析
  18. PHP学习记录【php数据类型】
  19. 推荐两个BlackBerry 商务软件
  20. 15道 Vue 面试题,内含详细讲解(涵盖入门到精通,自测 Vue 掌握程度)

热门文章

  1. JS基础知识(二十八):箭头函数
  2. 计算机课件制作ppt,计算机应用基础_幻灯片制作ppt课件
  3. 面经:两年半经验,面10个公司,经28轮面试,拿9个offer,涨麻了!
  4. C/C++ 混合编译 C++中的extern “C“
  5. 互联网商业模式O2O、C2C、B2B、B2C等介绍
  6. C++_008_数据结构_线性表_普通线性表
  7. 支付宝支付接口、支付宝订单查询接口 前端为APP
  8. 苏爱华奋斗撒酒疯快乐到家斯卡拉减肥倒萨
  9. 【Mysql】Error 1826: Duplicate foreign key constraint 错误
  10. CUDA实现focal_loss