Android中验证姓名、身份证、银行卡、手机号(正则表达式校验)
最近做项目遇到正则表达式,为了防止以后忘记,特此记录一下
1.验证输入的身份证号是否正确
public static boolean isLegalId(String id) {if (id.toUpperCase().matches("(^\\d{15}$)|(^\\d{17}([0-9]|X)$)")) {return true;} else {ToastUtil.show("输入的身份证号不合法");return false;}
}
2.验证输入的手机号是否正确
public static boolean isMobileNO(String mobiles) {Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,3,5-9]))\\d{8}$");Matcher m = p.matcher(mobiles);return m.matches();
}
现在又添加了一些手机号,上面的正则表达式验证不通过,可以把权限全打开如下:
"^1[0-9]{10}$"
3. 验证输入的邮箱是否正确
public static boolean checkEmail(String email) {boolean flag = false;try {String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";Pattern regex = Pattern.compile(check);Matcher matcher = regex.matcher(email);flag = matcher.matches();} catch (Exception e) {flag = false;}return flag;
}
4. 验证输入的名字是否为“中文”或者是否包含“.”
public static boolean isLegalName(String name, String hint) {if (name.contains("·") || name.contains("•")) {if (name.matches("^[\\u4e00-\\u9fa5]+[·•][\\u4e00-\\u9fa5]+$")) {return true;} else {ToastUtil.show(hint);return false;}} else {if (name.matches("^[\\u4e00-\\u9fa5]+$")) {return true;} else {return false;}}
}
5.验证输入的银行卡号是否正确
//验证银行卡号
public static boolean checkBankCard(String cardId) {char bit = getBankCardCheckCode(cardId.substring(0, cardId.length() - 1));if (bit == 'N') {return false;}return cardId.charAt(cardId.length() - 1) == bit;
}
//从不含校验位的银行卡卡号采用 Luhm 校验算法获得校验位
public static char getBankCardCheckCode(String nonCheckCodeCardId) {if (nonCheckCodeCardId == null || nonCheckCodeCardId.trim().length() == 0|| !nonCheckCodeCardId.matches("\\d+")) {//如果传的不是数据返回Nreturn 'N';}char[] chs = nonCheckCodeCardId.trim().toCharArray();int luhmSum = 0;for (int i = chs.length - 1, j = 0; i >= 0; i--, j++) {int k = chs[i] - '0';if (j % 2 == 0) {k *= 2;k = k / 10 + k % 10;}luhmSum += k;}return (luhmSum % 10 == 0) ? '0' : (char) ((10 - luhmSum % 10) + '0');
}
Android中验证姓名、身份证、银行卡、手机号(正则表达式校验)相关推荐
- 手机号正则表达式校验,兼容+86,空格和-分隔符等常规手机格式
手机号正则表达式校验 背景 前一段时间在用蜂巢取快递的时候,我输入199号段,发现提示我手机号错误,导致我无法注册使用蜂巢功能. 最近有空了,打算写一篇关于手机号校验的文章,和大家交流交流.现在网上的 ...
- ASP.NET EXCEL导入,身份证、手机号长度校验数据校验
<cc1:MiniButton ID="btnBathAdd" Width="35px" Height="25px" runat=&q ...
- 手机号 ,邮箱,固定电话js验证,身份证号(正则表达式)
固定电话: var myreg =/^((1[0-9]{10})|(((([0-9]{3}-)?[0-9]{8})|(([0-9]{4}-)?[0-9]{7}))(-[0-9]{1,4})?))$/; ...
- JS正则表达式验证姓名 身份证号码
function isCardNo(card) { // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X var reg = /(^\d{1 ...
- 判断身份证 银行卡 手机号等
//判断手机号 + (BOOL)checkPhone:(NSString *)phoneNumber{if (phoneNumber.length != 11){return NO;}/*** 手机号 ...
- html5表单pattern属性配合正则验证手机号码,身份证
pattern="[1]+[3456789]+\d{9}" html5表单自带的表单验证规则身份证,手机号 html5表单验证 之前一直不知道怎么自定义提示信息,今天看到了资料就记 ...
- Vue 正则表达式验证表单字段(如用户名/密码/真实姓名/身份证/手机号/邮箱)的合法性
1. 给页面表单对象添加验证属性 由于我的项目使用的el-form,则给el-form添加属性 :rules="registerRules" ref="register ...
- 利用正则来验证姓名、手机号、身份证号
开发工具与关键技术:Visual Studio 2015 正则 作者:孙水兵 撰写时间:2019年6月27 一. 效果 二. 用到的方法 test:test 方法检查字符串是否与给出的正则表达式模式相 ...
- 正则表达式 验证邮箱、身份证、手机号等
正则表达式 验证邮箱.身份证.手机号等 1.参考文献 2. 案例演练 验证: 邮箱-手机-身份证 3. 案例演练 验证: 邮箱-手机-身份证-姓名 1.参考文献 主要参考了"常用正则表达式- ...
- (转)最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等...
什么是 RegExp? RegExp 是正则表达式(Regular expression)的缩写,作用是对字符串执行模式匹配. 通常用于格式验证.正则替换.查找子串等 各种编程语言的正则表达式基本相同 ...
最新文章
- 优先队列(priority_queue)的原理及用法
- 浪潮服务器测试文档,ESXI6.7注入浪潮服务器raid驱动测试
- ListView的使用用ViewHolder提升效率
- 如何在php中插入数据并修改,php怎么同时向2张表里插入数据
- linux iis 环境配置教程,Linux系统Java环境配置教程
- JavaScript之判断用户登录信息
- c#sql数据导出到excel
- windows server 2003 or 2008 远程登录时超过最大连接数的解决办法
- 【操作系统】对换、分页和分段方式-思维导图
- 06. Django基础:GET请求和POST请求
- Controller中servletFileUpload.parseRequest(request)解析为空
- Eclipse导入MySQL驱动包
- HTML超链接基本属性
- 【AI视野·今日CV 计算机视觉论文速览 第235期】Mon, 27 Sep 2021
- cython编译python_cython编译报错
- Java Web中乱码问题
- android 逆向so,逆向Android SO,以《遇见》App为例
- 【超人】社区二手6.15.2小程序源码
- css3,background-clip/background-origin的使用场景,通俗讲解
- Unity常用旋转方法