Android身份证、车牌号正则验证工具类实现
183 浏览量
更新于2024-09-01
收藏 75KB PDF 举报
Android 编程实现的身份证、车牌号正则验证工具类实例
Android 编程实现的身份证、车牌号正则验证工具类是 Android 开发中非常重要的一个工具类,它可以帮助开发者快速验证用户输入的身份证和车牌号是否正确。本文将详细介绍该工具类的实现方式,并提供了一个实际的实例代码。
1. 正则表达式验证工具类
正则表达式是验证工具类的核心部分,它可以根据预定义的规则来验证用户输入的字符串是否正确。在本文的实例中,我们使用了两个正则表达式,一个是验证身份证的正则表达式,另一个是验证车牌号的正则表达式。
2. 身份证验证
身份证验证是该工具类的主要功能之一。我们可以使用正则表达式来验证用户输入的身份证号是否正确。例如,下面是一个简单的身份证验证的正则表达式:
`Pattern pattern = Pattern.compile("^[1-9]\\d{14}");`
这个正则表达式可以验证用户输入的身份证号是否是一个15位的数字字符串,并且第一个字符不能是0。
3. 车牌号验证
车牌号验证是该工具类的另一个主要功能。我们可以使用正则表达式来验证用户输入的车牌号是否正确。例如,下面是一个简单的车牌号验证的正则表达式:
`Pattern pattern2 = Pattern.compile("^[京津沪渝冀豫云辽黑湘皖鲁苏浙赣鄂桂甘晋蒙陕甘宁青新藏台港澳]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港试]{0,1}$");`
这个正则表达式可以验证用户输入的车牌号是否是一个合法的车牌号字符串。
4. 工具类的实现
下面是该工具类的实现代码:
```java
public class ValidateUtil {
/**
* 验证str是否为正确的身份证格式
*
* @param str
* @return
*/
public static boolean isIdentityCard(EditText view) {
boolean flag = true;
String licenc = view.getText().toString();
SimpleDateFormatsdf = new SimpleDateFormat("yyyy-MM-dd");
/*
* {11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",
* 21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",
* 33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",
* 42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",
* 51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",
* 63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}
*/
String provinces = "11,12,13,14,15,21,22,23,31,32,33,34,35,36,37,41,42,43,44,45,46,50,51,52,53,54,61,62,63,64,65,71,81,82,91";
Pattern pattern = Pattern.compile("^[1-9]\\d{14}");
Matcher matcher = pattern.matcher(licenc);
Pattern pattern2 = Pattern.compile("^[1-9]\\"
+ "[\\d]{14}$");
Matcher matcher2 = pattern2.matcher(licenc);
if (!matcher.matches() || !matcher2.matches()) {
flag = false;
}
return flag;
}
}
```
这个工具类提供了一个 `isIdentityCard` 方法,该方法可以验证用户输入的身份证号是否正确。它使用了两个正则表达式来验证用户输入的身份证号是否是一个合法的身份证号字符串。
5. 实际应用
该工具类可以在 Android 应用程序中使用,以便快速验证用户输入的身份证和车牌号是否正确。例如,在用户注册时,我们可以使用该工具类来验证用户输入的身份证号是否正确,如果不正确,则提示用户重新输入。
本文详细介绍了 Android 编程实现的身份证、车牌号正则验证工具类的实现方式,并提供了一个实际的实例代码。该工具类可以帮助 Android 开发者快速验证用户输入的身份证和车牌号是否正确,从而提高应用程序的安全性和可靠性。
4751 浏览量
1381 浏览量
10385 浏览量
2008-08-08 上传
2009-07-08 上传
2009-07-08 上传
2021-10-11 上传
306 浏览量
weixin_38693192
- 粉丝: 5
- 资源: 934
最新资源
- 易语言ffmpeg进度转码
- Tech-Career-Report-2021:来自Landing.Jobs的数据集
- NativeScript-Calculator-Demo:具有Angular演示项目的NativeScript
- elasticsearch-learning-to-rank-es_7_6_2.zip
- 开发板USB转串口CH340驱动_win驱动开发_CH34064位_ttl线驱动_开发板USB转串口CH340驱动_刷机_
- react-native-searchable-dropdown:可搜寻的下拉式选单
- Travel_Dreams:Travel Dreams是一个角色扮演网站,通过其本地历史,文化和美食来形象化日本的地区和城市
- 基于51单片机打铃系统.rar
- 易语言flash独立视频
- 拖放本机脚本:本机应用程序用于在本机5和角度7的GridLayout中拖放图像
- Human Friendly-crx插件
- 单链表的基本操作实现-查找_单链表的基本操作实现_
- json编码解码的源代码
- ASP+ACCESS学生论坛设计与实现(源代码+LW+开题报告).zip
- 智能云示例:基于springcloud的脚手架(智能云)示例,支持服务合并部署与扩展部署,接口加解密签名,日志数据脱敏,接口数据模拟,接口文档自动生成,请求幂等校正,界面日志和切面打印,分表分库分布式事务等
- Digital-electronics---1