1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 判断密码是否由数字 大小写字母和特殊符号组成(排除中文)

判断密码是否由数字 大小写字母和特殊符号组成(排除中文)

时间:2019-03-07 03:23:34

相关推荐

判断密码是否由数字 大小写字母和特殊符号组成(排除中文)

/*** 判断密码是否符合规范(由数字,英文大小写字母和特殊符号组成 不含中文)* @author lvtao*/public class CheckPassword {//数字public static final String REG_NUMBER = ".*\\d+.*";//小写字母public static final String REG_UPPERCASE = ".*[A-Z]+.*";//大写字母public static final String REG_LOWERCASE = ".*[a-z]+.*";//特殊符号public static final String REG_SYMBOL = ".*[~!@#$%^&*()_+|<>,.?/:;'\\[\\]{}\"]+.*";/*** 判断是否含有中文** @param password 密码* @return boolean*///basevo只是返回类型 自己需要啥类型 可以更改成对应的返回即可public static BaseVO checkPasswordRule(String password){//密码为空或者长度小于8位大于16位 则返回falseif (password == null) {return new BaseVO(AUTHENTICATION_FAIL_CODE,"密码不能为空");}if ( password.length() < 8 || password.length() > 16) {return new BaseVO(AUTHENTICATION_FAIL_CODE,"密码为8~16位之间");}if (isChinese(password)) {return new BaseVO(AUTHENTICATION_FAIL_CODE,"密码中不能含有中文");}int i = 0;//符合一个条件加1if (password.matches(REG_NUMBER)) i++;if (password.matches(REG_LOWERCASE)) i++;if (password.matches(REG_UPPERCASE)) i++;if (password.matches(REG_SYMBOL)) i++;//如果类型小于4 返回falseif (i <= 3 ) {return new BaseVO(AUTHENTICATION_FAIL_CODE,"密码由数字,字母大、小写和特殊字符组成");}return null;}/*** 判断是否含有中文** @param passWord 密码* @return boolean*/public static boolean isChinese(String passWord) {char[] c = passWord.toCharArray();for (int i = 0; i < c.length; i++) {Character.UnicodeBlock ub = Character.UnicodeBlock.of(c[i]);if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {return true;}}return false;}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。