Java中的正则表达式证验各种电话号码

Java中的正则表达式验证各种电话号码

如果你要验证的电话号码有以下要求:
  (1)电话号码由数字和"-"构成
  (3)如果电话号码中包含有区号,那么区号为三位或四位
  (4)区号用"或"-"和其他部分隔开
  (5)移动电话号码为11位  

//验证联系电话
	public boolean checkPhone(String phone){
		if(phone.matches("((^(13|15|18)[0-9]{9}$)|(^0[1,2]{1} \\d{1}-?\\d{8}$)|(^0[3-9]{1}\\d{2}-?\\d{7,8}$)|(^0[1,2]{1}\\d{1}-?\\d{8}-(\\d{1,4})$)|(^0[3-9]{1}\\d{2}-?\\d{7,8}-(\\d{1,4})$))")){
			return true;
		}else{
			return false; 
		}
	}
 
1 楼 天明破晓 2012-07-20  
我测试了,不好用