在做项目时遇到了的正则表达式的学习,mark一下。
//用户名正则,4到16位(字母,数字,下划线,减号) Pattern NamePattern = Pattern.compile("^[a-zA-Z][a-zA-Z0-9_-]{4,16}");
//密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符 Pattern PasswdPattern = Pattern.compile("^.*(?=.{6,16})(?=.*\\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$");
//Email正则 Pattern EmailPattern = Pattern.compile("^[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-zA-Z0-9]+");
Pattern.compile("^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\d{8}$");
更多参考:
https://www.cnblogs.com/raphael1982/p/8012634.html
//对比类 Matcher matcher; //定义 String username = "xxxxxx"; String passwd = "xxxxxx"; String email = "xxxxxx"; if(!NamePattern.matcher(username).matchs()){ return R.error("username is illegal"); //自定义返回类 }else if(!PasswdPattern.matcher(passwd).matchs()){ return R.error("password is illegal"); }else if(!EmailPattern.matcher(email).matchs()){ return R.error("email is illegal"); }else{ return R.ok("Register success"); }
https://www.runoob.com/regexp/regexp-flags.html