java web免費手機號碼歸屬地接口

java web免費手機號碼歸屬地接口

java類 PhoneAPI

package com.webber.cm.outsideapi.baidu;

import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.log4j.Logger;

import com.webber.cm.common.util.HttpClient;
import com.webber.cm.common.util.JsonUtil;

// 電話
public class PhoneAPI {

	static Logger logger = Logger.getLogger(PhoneAPI.class);

	public static void main(String[] args) {
		String phone = PhoneAPI.phoneLocation("15788888888");
		System.out.println(phone);
	}

	// 手機號歸屬地
	public static String phoneLocation(String phone) {
		if(!PhoneAPI.isMobile(phone)) {
			return "號碼錯誤";
		}
		String result = null;
		try {
			String url = "http://mobsec-dianhua.baidu.com/dianhua_api/open/location?tel=PHONE";
			url = url.replace("PHONE", phone);
			String reqResult = HttpClient.doGet(url);
			if(reqResult.indexOf("null")>-1) {
				return "號碼有誤";
			}
			Map<String, Object> map = JsonUtil.parseJSON2Map(reqResult);
			String location = ((Map) ((Map) map.get("response")).get(phone)).get("location").toString();
			result = location.substring(0, location.length() - 2);
		} catch (Exception e) {
			logger.error("手機歸屬接口異常:", e);
		}
		logger.info("手機歸屬接口:{phone:" + phone + ",result:" + result + "}");
		return result;
	}

	// 手機號碼格式檢查
	private static Boolean isMobile(String phone) {
		String regex = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,5-9]))\\d{8}$";
		if (phone.length() != 11) {
			return false;
		} else {
			Pattern p = Pattern.compile(regex);
			Matcher m = p.matcher(phone);
			boolean isMatch = m.matches();
			if (isMatch) {
				return true;
			} else {
				return false;
			}
		}
	}
}

希望以上代碼能夠幫助到你!

發佈了68 篇原創文章 · 獲贊 63 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章