Java后台判断如果一个字符串长度小于6或者是纯数字或者是纯字母的时候renturn false,其他情况return true;
[code="java"]import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test{
public static boolean filterStr(String str) {
if (str.length() < 6)
return false;
Pattern pattern = Pattern.compile("^([0-9]+)|([a-zA-z]+)$");
Matcher matcher = pattern.matcher(str);
if (matcher.matches()) {
return true;
}
return false;
}
public static void main(String[] args) {
System.out.println(filterStr("aaa"));
System.out.println(filterStr("aaaaaa"));
System.out.println(filterStr("232341345"));
System.out.println(filterStr("aaa1aaa"));
}
}[/code]
输出:
false
true
true
false
试试:
^((\d{,5})||([a-zA-Z]{,5}))$
逻辑上有点问题,改下
[code="java"]import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test{
public static boolean filterStr(String str) {
if (str.length() < 6)
return false;
Pattern pattern = Pattern.compile("^([0-9]+)|([a-zA-z]+)$");
Matcher matcher = pattern.matcher(str);
if (matcher.matches()) {
return false;
}
return true;
}
public static void main(String[] args) {
System.out.println(filterStr("aaa"));
System.out.println(filterStr("aaaaaa"));
System.out.println(filterStr("232341345"));
System.out.println(filterStr("aaa1aaa"));
}
} [/code]
false
false
false
true
[code="java"]import java.util.regex.Pattern;
public class T {
public static void main(String args[]) {
String regx = "^((\\d{0,5})|([a-zA-Z]{0,5}))$";
Pattern pattern = Pattern.compile(regx);
System.out.println(pattern.matcher("12345").matches());
System.out.println(pattern.matcher("ababd").matches());
System.out.println(pattern.matcher("1234567").matches());
System.out.println(pattern.matcher("badsewewewewew").matches());
System.out.println(pattern.matcher("123we").matches());
}
}[/code]
输出:
[quote]
true
true
false
false
false
[/quote]
我理解反了。。。。
将结果取反就可以了。。。
[code="java"]import java.util.regex.Pattern;
public class T {
private static Pattern pattern;
static {
String regx = "^((\d{0,5})|([a-zA-Z]{0,5}))$";
pattern = Pattern.compile(regx);
}
public static boolean checkString(String input){
return !pattern.matcher(input).matches();
}
public static void main(String args[]) {
System.out.println("12345 --> "+T.checkString("12345"));
System.out.println("abcde --> "+T.checkString("abcde"));
System.out.println("123 --> "+T.checkString("123"));
System.out.println("abcdefg --> "+T.checkString("abcdefg"));
System.out.println("12e --> "+T.checkString("12e"));
}
}[/code]
[quote="输出"]
12345 --> false
abcde --> false
123 --> false
abcdefg --> true
12e --> true
[/quote]