/**  * 我国公民的身份证号码特点如下* 1.长度18位* 2.第1-17号只能为数字* 3.第18位只能是数字或者x* 4.第7-14位表示特有人的年月日信息* 请实现身份证号码合法性判断的函数,函数返回值:* 1.如果身份证合法返回0* 2.如果身份证长度不合法返回1* 3.如果第1-17位含有非数字的字符返回2* 4.如果第18位不是数字也不是x返回3* 5.如果身份证号的出生日期非法返回4* * @since 0.0.1*/private int validator(String id) {String str = "[1-9]{2}[0-9]{4}(19|20)[0-9]{2}"+ "((0[1-9]{1})|(1[1-2]{1}))((0[1-9]{1})|([1-2]{1}[0-9]{1}|(3[0-1]{1})))"+ "[0-9]{3}[0-9x]{1}";Pattern pattern = Pattern.compile(str);return pattern.matcher(id).matches() ? 0 : 1;}

网盘帮助文档

链接:https://pan.baidu.com/s/15xXkyfySG7Fjr7Qj-Hhs7w 密码:llxb

 

转载于:https://www.cnblogs.com/tengKing/p/6771351.html

比较严谨的java验证18位身份证号码相关推荐

  1. java中验证18位身份证的正则表达式

    import java.util.regex.Matcher; import java.util.regex.Pattern; /** *只可以验证输入的身份证是否为18位,不可以验证身份证的正确性 ...

  2. 15/18位身份证号码验证

    15/18位身份证号码验证 在做身份证验证之前你得明确身份证号的组成. 首先我告诉你,18位身份证号码后面的字母只有"X"这一个.(X是罗马数字的10,用X来代替10,可以保证您的 ...

  3. 关于18位身份证号码最后一位计算(Java实现)

    关于18位身份证号码最后一位计算(Java实现) 现代的身份证号码长度都是18位的,但是只要知道前17位便可推出第18位数字或者字母(第18位为0,1,...,9和X中的一个).也就是说,国内不存在前 ...

  4. 15/18位身份证号码验证的正则表达式总结(详细版)

    前言 开发过程中,常常需要对一些输入信息进行有效性验证,使用正则表达式进行校验是最简单.效率最高的方式了,下面就来看看15/18位身份证号码验证的正则表达式吧. 介绍 xxxxxx yyyy MM d ...

  5. 18位身份证号码规则及js验证

    2019独角兽企业重金招聘Python工程师标准>>> 一.中国居民身份证号码规则 18位身份证号码编码规则:根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份 ...

  6. MySQL正则表达式判断身份证_15/18位身份证号码验证的正则表达式总结(详细版)...

    前言 开发过程中,常常需要对一些输入信息进行有效性验证,使用正则表达式进行校验是最简单.效率最高的方式了,下面就来看看15/18位身份证号码验证的正则表达式吧. 介绍 xxxxxx yyyy MM d ...

  7. js正则表达式 - 验证11位手机号码、邮箱验证、18位身份证号码

    正则解析 11位手机号码 reg表达式:/^[1][3,4,5,7,8][0-9]{9}$/ 规则:第一个数字1,第二个数字只能是3,4,5,7,8中的某一个,剩下的号码需要有9个数,范围在0-9之间 ...

  8. python正则表达式 身份证_15/18位身份证号码验证的正则表达式总结(详细版)

    前言 开发过程中,常常需要对一些输入信息进行有效性验证,使用正则表达式进行校验是最简单.效率最高的方式了,下面就来看看15/18位身份证号码验证的正则表达式吧. 介绍 xxxxxx yyyy MM d ...

  9. 15位、18位身份证号码正则表达式

    身份证正则表达式 在项目中遇到身份证号码验证,百度了一些资料,太简单的和太复杂的pass,综合了一些案例,取长补短,形成了个折中版本的,正则表达式如下: var reg =/(^[1-9]\d{5}( ...

最新文章

  1. Java集合类学习-LinkedList, ArrayList, Stack, Queue, Vector
  2. 028_Alert警告
  3. 在 Java 项目中打印错误日志的正确姿势,排查问题更方便,非常实用!
  4. 如何取得用户参数文件中的parameters
  5. ros创建工作空间_ROS入门学习之七Moveit机械臂控制
  6. 谷歌浏览器外贸版_做外贸快两个月,没有单怎么办?
  7. 搭建ceph单节点对象存储服务器
  8. java 时区处理_如何使用Java处理日历时区?
  9. 极简代码(三)—— 向量加法
  10. 【个人笔记】OpenCV4 C++ 图像处理与视频分析 09课
  11. Java内存模型JMM简单分析
  12. c语言运算符优先级(c语言运算符优先级由高到低的顺序)
  13. 【读书笔记】Vue.js 初次接触
  14. 【观察】Hitachi Vantara:高端存储再“升级”,数字化转型再“升维”
  15. 什么是架构师?Java架构师一般多少年薪呢?
  16. arduino蓝牙通讯代码_arduino笔记二:arduino与手机蓝牙通讯
  17. 图形学-着色(Blinn-Phong模型)
  18. 如何开发一个地图导航系统
  19. 湖南评副教授职称计算机,2019年职称评审,湖南省高校教师需关注这些问题!...
  20. 免费下载思科CCNP 642-825考试题库

热门文章

  1. 高端人工智能服务器,产品技术-HPE Apollo6500 Gen10服务器:人工智能的高速引擎-新华三集团-H3C...
  2. maven 安装_Maven的下载、安装、配置以及验证操作
  3. opengl正方形绕点旋转_中考热点:再说旋转动点问题中的最值问题之提分攻略
  4. springboot使用jdbc连接mysql数据库
  5. 网络推广专员敲黑板了,教你网站优化中如何更好地编写网站标题?
  6. 企业网络推广——企业网络推广专员讲述网站友链交换如何做
  7. 浅析网站建设的基本原则
  8. 网站SEO优化如何讨好搜索引擎蜘蛛?
  9. genymotion报错Your CPU is incompatible with virtualization technologies
  10. 关于fragment之间的数据传输