牛骨文教育服务平台(让学习变的简单)
博文笔记

android,java判断密码强度

创建时间:2016-10-09 投稿人: 浏览次数:2495

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

	}
	
}

效果图:




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

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。