String类练习:我国的居民身份证号码,由由十七位数字本体码和一位数字校验码组成。
请定义方法判断用户输入的身份证号码是否合法,并在主方法中调用方法测试结果。 * 规则为:号码为18位,不能以数字0开头,前17位只可以是数字,最后一位可以是数字或者大写字母X。
易错:循环判断前17位为数字返回true,bug:只要有一个为数字都会返回true
public class Work06Test {public static void main(String[] args) {boolean legal = isLegal();System.out.println(legal);}public static boolean isLegal(){Scanner scanner = new Scanner(System.in);System.out.println("请输入身份证号码:");String sfz = scanner.next();if (sfz.length()!=18){return false;}//身份证第一位String start = sfz.substring(0, 1);//前17位只能是数字String str = sfz.substring(0, 17);//最后一位是数字或者XString end = sfz.substring(17);//转为字符char cend = end.charAt(0);//遍历前17位身份证for (int i = 0; i <str.length() ; i++) {char c = str.charAt(i);//前17位只能位数字,不为数字返回falseif (!(c>='0' && c<='9')){return false;}}//不能以0开头,最后一位为数字或者X,满足返回trueif ( !start.equals("0") && (cend>='0'&& cend<='9'|| cend=='X')){return true;}return false;}
}
String类练习:我国的居民身份证号码,由由十七位数字本体码和一位数字校验码组成。相关推荐
- 我国大陆居民身份证Java验证
关于身份证验证这一点做到身份证的编码有效性,只有是否真实存在,就算有国家居民身份证数据库也不见的真的符合事实,毕竟一人多证,或者有人无证的基本现象是存在的. 做项目中有用到用户身份证验证,那么尽最大努 ...
- Java 从身份证号码中获取出生日期、性别、年龄(15位和18位)
项目场景: 提示:这次做项目的时候遇到一个工具,整理出来以后可以直接使用 问题描述:给一个String 类型的 身份证号码,需要从这串数字中获取出生日期.性别.年龄 身份证号码分为 15 位 和18 ...
- Java:15位或18位居民身份证号码通用校验(正则表达式、日期格式、末尾校验码)
身份证号码校验,正则表达式校验.日期格式校验.18位身份证末尾校验码校验 前六位省市县号码变更频繁,这里就不做校验 import java.text.ParseException; import ja ...
- 居民身份证号码的奥秘及身份证第18位(校验码)的计算方法
2019独角兽企业重金招聘Python工程师标准>>> 居民身份证是国家法定的证明公民个人身份的证件.为了堵塞和制止假居民身份证的流通和使用,在查验和核查居民身份证时可掌握以下几个要 ...
- 居民身份证号码组成规则
第一.二位表示省(自治区.直辖市.特别行政区). 第三.四位表示市(地级市.自治州.地区.盟及直辖市所属区和县的汇总码).其中,01-20,51-70表示地级市:21-50表示地区(自治州.盟). 第 ...
- javascript 一些常用的正则表达式(手机号码,邮箱,整数,身份证号码,车牌号,中文,只能是字母或者数字)
1.手机号码格式验证 function mobile(value) {return /^1[23456789]\d{9}$/.test(value) } 2.验证电子邮箱格式 function ema ...
- 解析身份证号码(Python版)
解析身份证号码(Python版) 简单分析 结构 六位数字地址码 八位数字出生日期码 三位数字顺序码 一位数字校验码 代码实现 获取身份证号里的信息 获取身份证中的省份 计算身份证校验位 验证并提取信 ...
- PTA Python习题 身份证号码输出性别与出生日期
题目要求 18位居民身份证号码排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码(男性使用1.3.5.7.9等奇数,女性使用2.4.6.8.0等偶数)和一位数字校验码. 从键盘 ...
- java 身份证号码校验工具类
import org.slf4j.Logger; import org.slf4j.LoggerFactory;/*** 校验身份证*/ public class IdCardUtil {privat ...
- java验证身份证号码是否有效源代码
转载自 java验证身份证号码是否有效源代码 1.描述 用java语言判断身份证号码是否有效,地区码.出身年月.校验码等验证算法 2.源代码 package test; import java.t ...
最新文章
- php session already send by ……
- android通知栏打开actvity,Android实现点击通知栏后,先启动应用再打开目标Activity...
- CentOS 安装Zabbix 手记
- MyEclipse安装后需要进行的配置
- S5PV210开发 -- 启动流程
- Blazor WebAssembly 3.2.0 Preview 4 如期发布
- 前端学习(2380):调整目录结构
- 【maven配置】IDEA自动生成的pom文件报错:URI Is Not Registered
- 因子和,因子数,1到n的因子和,1到n的因子数
- deferred initcalls与模块化
- 刷题记录 kuangbin带你飞专题一:简单搜索
- 线性代数 矩阵 知识技巧思维导图 [21考研上岸之旅]
- aix linux ftp服务器,AIX主机FTP到LINUX服务器其中的磕碰记录
- windows 技巧篇-解除共享文件夹占用方法,解决共享文件被占用导致不可修改问题,查看共享文件被谁占用方法
- 【无标题】HTMLCSS学习总结
- 组合数据类型(集合)
- 前端展示中实现批量标签动态生成
- 小程序集-朋友圈集赞神器
- OpenAI 推出漏洞赏金计划,最高奖励 2 万美元;京东零售开启 5 年来最大组织变革;​Django 4.2|极客头条
- 文件上传(模板导出、批量导入)
热门文章
- Jenkins远程命令执行漏洞(CVE-2018-1000861)
- magisk安装失败_crDroid OS 安装刷入教程
- STM32的USART3(PC10,PC11)异常,USART3_TX(PC10)持续低电平(0V)
- 查询瀚高数据库的创建时间
- 神经网络模拟化学反应?道翰天琼认知智能机器人平台API接口大脑为您揭秘。
- Markdown 写文档做笔记的利器
- 银尔达-----合宙Air724全网通4g DTU无线透传模块串口UART(TTL)+RS485核心板
- WiFi 802.11可调参数说明---分片阈值(fragmentation threshold)
- 符冉迪 计算机 培训,一种卫星云图的二次聚类分割方法专利_专利申请于2012-11-30_专利查询 - 天眼查...
- c语言模拟开关题目,8x16 模拟开关阵列芯片 CH446Q.PDF