最近项目经理给分配了个小活儿,登陆时判断用户的密码强度,我想这很简单啊了,就欣然答应了,虽然不知道怎么做,但心想有度娘啊 啥搞不定,于是下班回家继续苦逼加班,搜来搜去,靠竟然都是js写的 我也用不好那玩意啊 毕竟我是学Java,后来继续在各个论坛,网站搜寻方案,终于黄天不服功夫有心人,找到了 哈哈。
上代码:
package com.example.passwordbig;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// setPassword("1212AAAFvv11414123");
System.out.println(checkPassword("112~,.2Qwww321"));
}
private void setPassword(String str) {
if (str.matches("^\\d+$")) {
System.out.println("数字弱");
} else if (str.matches("^[a-zA-Z]+$")) {
System.out.println("字母弱");
} else if (str
.matches("(?i)^((\\d+[\\da-z]*[a-z]+)|([a-z]+[\\da-z]*\\d+)|([a-z]+[\\da-z]*[a-z]*)|(\\d+[\\da-z]*\\d*))$")) {
System.out.println("密码强");
} else {
System.out.println("你不按套路出牌啊。你滴承诺尼,你滴担架尼?");
}
}
/**
* 密码强度
*
* @return Z = 字母 S = 数字 T = 特殊字符
*/
public String checkPassword(String passwordStr) {
String regexZ = "\\d*";
String regexS = "[a-zA-Z]+";
String regexT = "\\W+$";
String regexZT = "\\D*";
String regexST = "[\\d\\W]*";
String regexZS = "\\w*";
String regexZST = "[\\w\\W]*";
if (passwordStr.matches(regexZ)) {
return "弱";
}
if (passwordStr.matches(regexS)) {
return "弱";
}
if (passwordStr.matches(regexT)) {
return "弱";
}
if (passwordStr.matches(regexZT)) {
return "中";
}
if (passwordStr.matches(regexST)) {
return "中";
}
if (passwordStr.matches(regexZS)) {
return "中";
}
if (passwordStr.matches(regexZST)) {
return "强";
}
return passwordStr;
}
}
效果图:
了
实现了两种方法,随便一种的都可以实现,搞定 ,可以和凤姐梦中约会去了~\(≧▽≦)/~