大陆、港澳台身份证、护照、军官证、户口本的正则表达式
大陆身份证正则表达式
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': '校验通过' };}}
大陆、港澳台身份证、护照、军官证、户口本的正则表达式相关推荐
- 我国大陆居民身份证Java验证
关于身份证验证这一点做到身份证的编码有效性,只有是否真实存在,就算有国家居民身份证数据库也不见的真的符合事实,毕竟一人多证,或者有人无证的基本现象是存在的. 做项目中有用到用户身份证验证,那么尽最大努 ...
- C# 中国大陆二代身份证号生成及格式验证
中国大陆二代身份证18位身份证规则计算图: private void Form1_Load(object sender, EventArgs e){string[] v = QueryIDCard(& ...
- Java:15位或18位居民身份证号码通用校验(正则表达式、日期格式、末尾校验码)
身份证号码校验,正则表达式校验.日期格式校验.18位身份证末尾校验码校验 前六位省市县号码变更频繁,这里就不做校验 import java.text.ParseException; import ja ...
- 身份证号和手机号的正则表达式
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]$ ...
- 身份证 护照等js校验
function checkName(text){ //传入对象 if ($(text).val() != '') { var a =$(text).val(); var msg; a ...
- 【algorithm】源码详解中国大陆新身份证号码算法
之前印象身份证最后一位奇数为男性,偶数为女性.看了下算法才明白,这指的是老身份证15位,18位身份证末尾加了一个校验码,用来验证是否为真实身份证号. 先看中国大陆身份证结构: 1.号码的结构 公民身份 ...
- Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码正则表达式...
Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正则表达式 ============================== ©Copyright 蕃薯耀 2017年11 ...
- Regex:身份证号码和车牌号码正则表达式
实名认证时,常会用到身份证号码和车牌号码的正则表达式匹配验证.简单高效. 经过一次一次的测试,去除多种匹配的表达式,得出相对正确的正则表达式. 1.车牌号正则匹配 车牌号组成规则 1.民用常规车牌号 ...
- jq验证大陆/港澳台手机号正则
\^([6|9])\d{7}$|^[0][9]\d{8}$|^[6]([8|6])\d{5}$\ //港澳台 /^1[34578]\d{9}$/ //大陆
- 大陆居民身份证验证方法(java)
1.设置接口 @Constraint(validatedBy = ChineseIdNumberValidator.class) @Target({ElementType.METHOD,Element ...
最新文章
- 详细介绍!Linux 上几种常用的文件传输方式
- 面试官:说说Spring Cloud底层原理?
- C语言之详解#ifdef等宏
- 对Faster R-CNN的理解(1)
- 数据不平衡处理_如何处理多类不平衡数据说不可以
- git 可视化工具_Git的基本使用(二)
- 分步表单_表单设计-掌握表单设计方法(表单体验篇)
- OKR和KPI的区别是啥?
- React+Webpack+Eslint+Babel构建React脚手架
- matplotlib -work4
- 关于开放源代码的定义
- 屏幕录制软件哪个好?
- 思科1242 AP无法连接到无线控制器
- Nickel 28就青山控股集团镍锍生产计划发表评论
- 【Vertica系列】一、安装建库
- ps和php有什么关系,lr和ps有什么区别
- 虚拟私助理要来了,五个行业将受影响人 | 分析
- PHP学习记录【php数据类型】
- 推荐两个BlackBerry 商务软件
- 15道 Vue 面试题,内含详细讲解(涵盖入门到精通,自测 Vue 掌握程度)
热门文章
- JS基础知识(二十八):箭头函数
- 计算机课件制作ppt,计算机应用基础_幻灯片制作ppt课件
- 面经:两年半经验,面10个公司,经28轮面试,拿9个offer,涨麻了!
- C/C++ 混合编译 C++中的extern “C“
- 互联网商业模式O2O、C2C、B2B、B2C等介绍
- C++_008_数据结构_线性表_普通线性表
- 支付宝支付接口、支付宝订单查询接口 前端为APP
- 苏爱华奋斗撒酒疯快乐到家斯卡拉减肥倒萨
- 【Mysql】Error 1826: Duplicate foreign key constraint 错误
- CUDA实现focal_loss