Android身份证、车牌号正则验证工具类实现
186 浏览量
更新于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 开发者快速验证用户输入的身份证和车牌号是否正确,从而提高应用程序的安全性和可靠性。
2019-05-14 上传
2017-11-23 上传
2020-09-02 上传
2008-08-08 上传
2009-07-08 上传
2009-07-08 上传
2021-10-11 上传
2023-08-27 上传
weixin_38693192
- 粉丝: 5
- 资源: 934
最新资源
- accounts-ui-no-dropdown
- 基于matlab+DWT的图像水印项目,数字水印+源代码+文档说明+图片+报告pdf
- RayTraceNextWeek代码实现
- C#控件大全_C#_控件大全_
- flow-8.0.1.jar中文-英文对照文档.zip
- 行业文档-设计装置-无盖的伸缩笔.zip
- tinyserial:小型串行开源项目
- matlab的egde源代码-matlab_speech_features:用Matlab编写的用于ASR和说话人识别的一组语音特征提取功能
- 基于LSB图像信息隐藏实现的数字水印技术matlab源码+文档说明(课程设计)
- slush-asponte:一个 slush 生成器,用于构建基于 Anguar-JS ECMAScript6 的前端,并具有可靠的开发人员工具包和构建流程
- [浙江]现代高层住宅+商业建筑方案设计2020
- python爱心代码合集 (9).zip
- dd_modbusRTU_
- matlab的egde源代码-IMUSensorModels:该存储库包含用于IMU传感器建模的C++类
- 行业分类-设备装置-大对开双面薄纸胶印机.zip
- lombok-0.10.1.jar中文-英文对照文档.zip