我该如何使用Google的libphonenumber https://github.com/googlei18n/libphonenumber 来判断一个电话号码是加拿大还是美国的,因为它们共享相同的国家代码?
例如: +1415-555-0123 是美国旧金山 +1647-555-0123 是加拿大多伦多
只需提供一个电话号码,即可获取国家名称。
当我尝试像下面这样做时,它返回了 "true",而我的期望是它应该返回false,因为这个电话号码不是美国号码,而是加拿大号码。
例如: +1415-555-0123 是美国旧金山 +1647-555-0123 是加拿大多伦多
只需提供一个电话号码,即可获取国家名称。
当我尝试像下面这样做时,它返回了 "true",而我的期望是它应该返回false,因为这个电话号码不是美国号码,而是加拿大号码。
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
boolean isPossible = phoneUtil.isPossibleNumber("+16475550123", "US");
isPossibleNumber()
仅检查国家代码和电话号码的长度,始终比isValidNumberForRegion()
宽松。如果您的数据包含许多具有无效国家代码或无效电话号码长度的号码,则使用isPossibleNumber()
进行预筛选以提高效率可能会很有用。另一方面,如果大多数数字具有有效的IDD代码并且符合IDD代码的有效长度,则直接调用isValidNumberForRegion()
可能更有效。 - headuck