我正在使用这段代码(在 Groovy 中,但应该很清楚它的作用)
class MobileNumberUtilService {
def getISOCountryCode(rawNumber) {
def phoneNumberUtil = PhoneNumberUtil.getInstance()
def number
try {
number = phoneNumberUtil.findNumbers(rawNumber, null).iterator().next().number()
} catch (NoSuchElementException exception) {
return ''
}
CountryCodeToRegionCodeMap.countryCodeToRegionCodeMap[number.countryCode].first()
}
}
运行mobileNumberUtilService.getISOCountryCode('<internationalized American or Canadian number>')
返回[US, AG, AI, AS, BB, BM, BS, CA, DM, DO, GD, GU, JM, KN, KY, LC, MP, MS, PR, SX, TC, TT, VC, VG, VI]
。
除了某种网络服务查找之外,有什么方法可以区分这些吗?