public boolean check(String str){
Pattern pattern = Pattern.compile("[1-9]\\d( |\\d)[1-9][1-9][1-9]");
return pattern.matcher(str).matches();
}

解决方案 »

  1.   


    public class PhoneRegex {
    public static void main(String[] args) {
    String strPhone = "110100";
    System.out.println(isPhoneValid(strPhone));
    }
    public static boolean isPhoneValid(String phone) {
    Pattern pattern = Pattern.compile("[1-9]{2}+[0-9]{4}");
    Pattern pattern2 = Pattern.compile("[0-9]{3}+[0]{3}");
    return pattern.matcher(phone).matches() && !pattern2.matcher(phone).matches() ? true : false;
    }
    }一个写不出来,期待高手,O(∩_∩)O~
      

  2.   

    哦,看错了,他的结构是1+2+3我以为是前缀在前面中间是分机号后面是后缀,晕,楼主你这描述也太歧义了吧    public boolean check(String str){    
                Pattern pattern = Pattern.compile("( |\\d)[1-9]\\d[1-9]{3}");
                return pattern.matcher(str).matches();
        }