2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Android中验证姓名 身份证 银行卡 手机号(正则表达式校验)

Android中验证姓名 身份证 银行卡 手机号(正则表达式校验)

时间:2023-07-06 15:39:35

相关推荐

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 = pile("^((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 = pile(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');}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。