【发布时间】:2023-03-27 00:09:01
【问题描述】:
我想要一个正则表达式或一些函数来标准化从我的 ios 应用程序输入的所有电话号码。
因此输入如下
- (212)555-5555
- 2125555555
- 212-555-5555
- 212 555 5555
- 212-5555555
全部翻译成
- (212) 555-5555
以下正则表达式是否可以将电话号码匹配到 3 个匹配组中,然后我可以将其格式化为正确的输出字符串?
^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$
是否需要正则表达式末尾的 $ 符号,还是会搞砸?
正则表达式是在 iOS 中执行此操作的最佳方式吗?
【问题讨论】:
-
可以先替换所有非数字,检查正确性,再格式化字符串
-
除非您的应用仅适用于美国和加拿大,否则您将需要更通用的方法来格式化电话号码。
-
这对我们和加拿大来说都可以,这样很好