我有一个拥有数百万电话号码的数据库,可以免费格式化.即,UI不强制执行任何约束,并且用户正在输入他们想要的任何内容.
我正在寻找的是一个Java API,可以尽最大努力将这些转换为一致的格式.理想情况下,API将采用自由文本值和国家/地区代码并生成有效的国际电话号码或抛出异常.
例如,系统中的电话号码可能类似于以下任何一种:
(555) 478-1123
555-478-1123
555.478.1123
5554781123
Run Code Online (Sandbox Code Playgroud)
鉴于美国的国家,API将为所有这些产生价值"+1(555)478-1123".确切的格式无关紧要,只要它是一致的.
系统中还有数字没有区号,例如"478-1123".在这种情况下,我会期待NoAreaCodeException或类似的东西.
还可能存在诸如"abc"之类的数据,这些数据也应该抛出异常.
当然,我发布的例子有无数种变化,以及国际电话号码的巨大复杂性,它们具有相当复杂的验证规则.这就是为什么我不会考虑自己动手.
有没有人见过这样的API?
java ×1