iOS中的电话号码格式遮罩

猴子驴

我想要一个正则表达式或一些功能来标准化我的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中执行此操作的最佳方法吗?

约拿

^$在一个正则表达式匹配的线输入的开始和结束。您没有提供足够的信息来确定在特定情况下这些锚点是否合适。

既然您在iOS上工作,您是否上过NSDataDetector课?它提供了用于检测字符串的机制,这些字符串可以是许多不同格式的有效电话号码。这将使您的电话号码检测与用户在其设备上许多其他应用程序中看到的行为相匹配。NSDataDetector没有提供重新格式化电话号码的机制,因此您仍然需要确定如何重新格式化检测为可能的电话号码(可能包含多于或少于10位数字)的字符串。如果这样做,您可能应该退回到保留任何检测到的数字的原始格式,而该数字与您的预期格式之一不匹配。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章