android,java判断密码强度

最近项目经理给分配了个小活儿,登陆时判断用户的密码强度,我想这很简单啊了,就欣然答应了,虽然不知道怎么做,但心想有度娘啊   啥搞不定,于是下班回家继续苦逼加班,搜来搜去,靠竟然都是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;

	}
	
}

效果图:




实现了两种方法,随便一种的都可以实现,搞定  ,可以和凤姐梦中约会去了~\(≧▽≦)/~

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值