android 密码设置验证,密码验证的正则表达式的Android

public class Validation {

public static void main(String[] args) {

String pass = "1AB%CDef555";

String username = "manna";

String email = "[email protected]";

System.out.println(validiate2(pass, username,email));

}

// if you don't care why it fails and only want to know if valid or not

public static boolean validiate (String pass, String username, String email){

String pattern = "^(?=.*[0-9])(?=.*[a-z])(?=.*[[email protected]#$%^&*+=?-]).{8,15}$";

if(pass.matches(pattern)){

for(int i=0;(i+3)

if(pass.contains(username.substring(i,i+3)) || username.length()<3 || username.length()>15){

return false;

}

}

for(int i=0;(i+3)

if(pass.contains(email.substring(i,i+3)) || email.length()<3 || email.length()>15){

return false;

}

}

return true;

}

return false;

}

// if you want to know which requirement was not met

public static boolean validiate2 (String pass, String username, String email){

if (pass.length() < 8 || pass.length() >15){

System.out.println("pass too short or too long");

return false;

}

if (username.length() < 3 || username.length() >15){

System.out.println("username too short or too long");

return false;

}

if (!pass.matches(".*\\d.*")){

System.out.println("no digits found");

return false;

}

if (!pass.matches(".*[a-z].*")) {

System.out.println("no lowercase letters found");

return false;

}

if (!pass.matches(".*[[email protected]#$%^&*+=?-].*")) {

System.out.println("no special chars found");

return false;

}

if (containsPartOf(pass,username)) {

System.out.println("pass contains substring of username");

return false;

}

if (containsPartOf(pass,email)) {

System.out.println("pass contains substring of email");

return false;

}

return true;

}

private static boolean containsPartOf(String pass, String username) {

int requiredMin = 3

for(int i=0;(i+requiredMin)

if(pass.contains(username.substring(i,i+requiredMin))){

return true;

}

}

return false;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值