android 校验用户名密码手机邮箱身份证邮编等

这段代码展示了如何使用Java进行用户输入验证,包括密码复杂度检查(包含字母、数字和特殊字符)、手机号、邮箱、身份证号和邮编的正则表达式匹配。它强调了编写高质量代码的重要性。
摘要由CSDN通过智能技术生成

/**

  • 不能是纯数字

*/

pattern1 = Pattern.compile(“1\d*$”);

m1 = pattern1.matcher(username);

return !m1.matches();

}

/**

  • 校验用户密码:字母,数字,特殊字符,至少两种,6-16个字符

*/

public static boolean validateUserPassword(String passport) {

Pattern pattern1 = Pattern.compile(“[0-9]*”); // 数字[0-9]+?

Matcher m1 = pattern1.matcher(passport);

pattern1 = Pattern.compile(“.[a-zA-Z].”); // 字母

Matcher m2 = pattern1.matcher(passport);

pattern1 = Pattern.compile(“.[^a-zA-Z0-9].”); // 非字母和数字

Matcher m3 = pattern1.matcher(passport);

pattern1 = Pattern.compile(“[^\u4E00-\u9FA5]*”); // 不是中文

Matcher m4 = pattern1.matcher(passport);

// 长度6-16

if (!((passport.length() >= 6) && (passport.length() <= 16))) {

return true;

}

/**

  • 纯数字

*/

if (m1.matches()) {

return true;

}

/**

  • 必须是:字母和数字

**/

if (m1.matches() && m2.matches() && m4.matches()) {

return true;

}

/**

  • 必须是:数字和特殊符号

**/

if (m1.matches() && m3.matches() && m4.matches()) {

return true;

}

/**

  • 必须是:字母和特殊符号

**/

return m2.matches() && m3.matches() && m4.matches();

}

public static int validateUserPasswords(String passport) {

passport = new String(passport.getBytes());

java.util.regex.Pattern pattern2 = java.util.regex.Pattern.compile(“[\u4e00-\u9fa5]+”);

java.util.regex.Matcher match2 = pattern2.matcher(passport);

if (match2.find() == true) {

return 1;

}

java.util.regex.Pattern pattern3 = java.util.regex.Pattern.compile(“[\s\u4e00-\u9fa5]”);

java.util.regex.Matcher match3 = pattern3.matcher(passport);

if (match3.find() == true) {

return 2;

}

java.util.regex.Pattern pattern4 = java.util.regex.Pattern.compile(“\*”);

java.util.regex.Matcher match4 = pattern4.matcher(passport);

if (match4.find()) {

return 3;

}

return 0;

}

/**

  • 校验手机

*/

public static boolean validatePhone(String phone) {

Pattern pattern1 = Pattern.compile(“^1[34578]\d{9}$”);

Matcher m1 = pattern1.matcher(phone);

return m1.matches();

}

/**

  • 校验邮箱

*/

public static boolean validateEmail(String email) {

Pattern pattern = Pattern.compile(

“^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$”);

Matcher matcher = pattern.matcher(email);

return matcher.matches();

}

/**

  • 判断字段是否为身份证 符合返回ture

  • @param str

  • @return boolean

*/

public static boolean isIdCard(String str) {

/**

  • 身份证正则表达式

*/

String IDCARD=“((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)[0-9]{4})” +

“(([1|2][0-9]{3}[0|1][0-9][0-3][0-9][0-9]{3}” +

“[Xx0-9])|([0-9]{2}[0|1][0-9][0-3][0-9][0-9]{3}))”;

if(TextUtils.isEmpty(str)) return false ;

if(str.trim().length() == 15 || str.trim().length() == 18) {

return Regular(str,IDCARD);

}else {

return false ;

}

}

/**

  • 判断字段是否为邮编 符合返回ture

  • @param str

  • @return boolean

*/

public static boolean isCode(String str) {

/**

  • 邮编正则表达式 [0-9]\d{5}(?!\d) 国内6位邮编

*/

String CODE=“[0-9]\d{5}(?!\d)”;

return Regular(str,CODE) ;

}

/**

  • 匹配是否符合正则表达式pattern 匹配返回true

  • @param str 匹配的字符串

  • @param pattern 匹配模式

  • @return boolean

*/

private static boolean Regular(String str,String pattern){

if(null == str || str.trim().length()<=0)

return false;

Pattern p = Pattern.compile(pattern);

Matcher m = p.matcher(str);

return m.matches();

最后

代码真的是重质不重量,质量高的代码,是当前代码界提倡的,当然写出高质量的代码肯定需要一个相当高的专业素养,这需要在日常的代码书写中逐渐去吸收掌握,谁不是每天都在学习呀,目的还不是为了一个,为实现某个功能写出高质量的代码。

所以,长征路还长,大家还是好好地做个务实的程序员吧。

最后,小编这里有一系列Android提升学习资料,有兴趣的小伙伴们可以来看下哦~
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!


  1. 1-9 ↩︎

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值