public class test {
public static void main(string[] args) {
string s="abcd1234567";
system.out.println(s+": "+validatestring(s));
s="0abcd000000";
system.out.println(s+": "+validatestring(s));
}
public static string validatestring(string s){
if(s.length()!=11)
return "字符串长度必须为11!";
/*
* 定义前4位为英文大写字母
*/
java.util.regex.pattern pa=java.util.regex.pattern.compile("\\p{upper}{4}");
/*
* 定义后7位为阿拉伯数字
*/
java.util.regex.pattern pb=java.util.regex.pattern.compile("\\d{7}");
java.util.regex.matcher m=pa.matcher(s.subsequence(0, 4));//截取前四位校验
if(!m.matches())//不是4为英文大写字母
return "前4位必须是英文大写字母。";
m=pb.matcher(s.substring(4));//截取后7位校验
if(!m.matches())//不是7位阿拉伯数字
return "后7位必须是阿拉伯数字。";
return "符合要求";
}
/**
* 校验字符串为指定的格式(长度为11,前四位为大写字母,后7位为阿拉伯数字)
* @param s
* @return
*/
public static boolean validate(string s){
java.util.regex.pattern p=java.util.regex.pattern.compile("\\p{upper}{4}\\d{7}");
java.util.regex.matcher m=p.matcher(s);
return m.matches();
}
}