1. 程式人生 > >判斷是手機還是固話,判斷兩個號碼是否為同一地區的號碼,支援手機和固話同時判斷

判斷是手機還是固話,判斷兩個號碼是否為同一地區的號碼,支援手機和固話同時判斷

 /***
  * 返回號碼狀態、歸屬地條件、源號碼
  * @param tel
  * @return 返回為String陣列,下標0值為1為手機,為2是固話,3是錯誤號。下標1為查詢歸屬地所用。下標2為去掉0後的原始碼
  */
 public static String[] checkTelType(String tel){
  tel=tel.trim();
  if(!tel.equals("")&&tel.length()>7){
   String s=(tel.indexOf("0")==0)?tel.substring(1):tel;//如果首位為0,去掉0
   int s2=Integer.parseInt(s.substring(0,2));//擷取前兩位
   if(s2>10&&s2<20){//如果在10和20區間,判斷為手機號
    tel=s.substring(0,7);//生成前7位
    return new String[]{"1",tel,s};
   }else{//判斷為固話,如果號段在30以下,判斷為3位號段,010-029,否則為4位號段
    String tel_pre=(s2<30)?tel.substring(0,3):tel.substring(0,4);
    return new String[]{"2",tel_pre,tel};
   }
  }else{
   return new String[]{"3","未知",tel};
  }
 }