public boolean isMobile(String mobile) {
boolean flag=false;
if(mobile.length()==0){
return false;
}
String[] mobiles=mobile.split("、");
int len=mobiles.length;
if(len==1){
return Pattern.matches("^((13[0-9])|(14[5,7,9])|(15[^4,\\D])|(17[0,1,3,5-8])|(18[0-9]))\\d{8}$", mobile);
}else{
for(int i=0;i<len;i++){
if(isMobile(mobiles[i])){
flag=true;
}else{
flag=false;
}
}
}
return flag;
}
字符串由、隔开,例如18875963248、18798751254,使用递归,先判断长度为1的合法性,调用函数递归下去,不合法,flag为false,合法则为true,依据flag的值判断是否合法