1. 程式人生 > >正則表示式驗證合法電話號碼

正則表示式驗證合法電話號碼

  • 中國移動:134/135/136/137/138/139/150/151/152/157/158/159/182/183/184/187/188/147/178/1705
  • 中國聯通:130/131/132/155/156/185/186/145/175/176/1709
  • 中國電信:133/153/180/181/189/199/177/1700/1349
  • 首位為1,中間兩位為(3、8加一個數)或者(5加非4的數)或者(7加5-8的數)或者(45、47、99),再加8位數字
  • 首位為1,中間三位為700或者705或者709,再加7位數字
public static boolean isTel(String s){
	/*
	中國移動
	134/135/136/137/138/139/150/151/152/157/158/159/182/183/184/187/188/147/178/1705
	中國聯通
	130/131/132/155/156/185/186/145/175/176/1709
	中國電信
	133/153/180/181/189/199/177/1700/1349
	*/
Pattern pattern= Pattern.compile("^([1]((([3]|[8])\\d{1}|([5][^4])|([7][5-8])|45|47|99)\\d{8}|(700|705|709)\\d{7}))?$"); Matcher match=pattern.matcher(s); boolean bo = match.matches(); return bo; }