我有这个:
public final static boolean isValidNickName(String target)
{
return Pattern.compile("^.((?=.*[가-힣]).{1,12})((?=.*[a-zA-Z0-9]){2,12}).$").matcher(target).matches();
}
我想要验证以下内容的模式:
允许[가 - 힣]范围内的一个或多个字母。
允许从2种组合开始的字母数字变异ex)1a,가1,가a,5bcc,994930s0
排除everythingelse(如特殊字符或单个字母数字字符)
当我暂时运行时,应用程序退出。
另外,我有这个工作:
public final static boolean isValidPassword(String target)
{
return Pattern.compile("(?=.*[a-zA-Z])(?=.*[0-9]).{4,12}").matcher(target).matches();
}
但是当包含特殊字符时,这会返回
我想让它在包含特殊字符时返回false
答案 0 :(得分:0)
试试吧。愿它帮助..
//检查密码是否有效
这个角色类
[\p{L}\p{No}\p{Space}]
将包括Unicode声明为"字母","数字"或"空白字符"的所有字符。如果要将字符串与此类字符类匹配,则应编写以下内容:
input.matches("[\\p{L}\\p{No}\\p{Space}]+")
答案 1 :(得分:0)
public final static boolean isValidPassword(String target) {
return Pattern.compile("^(?=.*\\d)(?=.*[a-zA-Z])[a-zA-Z0-9]{4,12}$").matcher(target).matches();
}
public final static boolean isValidName(String target) {
return Pattern.compile("^(?=.*[a-zA-Z가-힣])[a-zA-Z가-힣]{1,}$").matcher(target).matches();
}
public final static boolean isValidNickName(String target) {
return Pattern.compile("^(?=.*[a-zA-Z\\d])[a-zA-Z0-9가-힣]{2,12}$|^[가-힣]$").matcher(target).matches();
}
经过3个小时的努力,这是答案......
答案 2 :(得分:0)
此代码可能可以帮助某人。
注意Pattern.UNICODE_CASE
public boolean isPasswordValid(String password) {
String regEx = "^(?:(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).*)[^\\s]{8,}$";
CharSequence inputStr = password;
Pattern pattern = Pattern.compile(regEx,Pattern.UNICODE_CASE);
Matcher matcher = pattern.matcher(inputStr);
if(matcher.matches())
return true;
else
return false;
}