我可以确定用户是否输入了可以安全格式化为E164的电话号码吗?
对于德国,这要求用户使用本地区号开始输入。例如,123456
可能是他所在城市的用户号码,但不能格式化为E164,因为我们不知道他的本地区号。然后我想保持这个条目不变。相反,输入089123456
独立于区号,可以格式化为E164,因为我们知道他来自德国,我们可以将其转换为+4989123456
。
答案 0 :(得分:5)
您只需使用libphonenumber将您的号码转换为E164即可 转换后检查两个字符串是否相同。如果它们相同意味着数字无法格式化,否则您从库中获得的数字将格式化为E164。
以下是转换方式
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
String formattedNumber = phoneUtil.format(inputNumber, PhoneNumberFormat.E164);
最后将 formattedNumber 与 inputNumber
进行比较答案 1 :(得分:0)