【发布时间】:2012-06-26 06:34:50
【问题描述】:
我有一个未经验证的用户输入的电话号码列表,它们看起来像:
- 495) 995-0595
- 105-6439
- 095 268 8621
- 324-51-44
- 7 (495) 995-05-95
- 7 495 995 05 95
- 7 (495) 995-0595
- +7 (495) 995-05-95
- 7 (495)925-34-89
- 7(495)9253489
- 7(495)925-34-89
- 74959950595
我想将这些数字转换成这种(俄语)格式: +X (XXX) XXX-XX-XX
这里有没有机会使用正则表达式来实现它?
【问题讨论】:
-
我猜你应该在用户输入数据时进行验证。
-
看起来你只有两个场景,7位数字和11位数字。撇开格式不谈,您首先要从列表中删除所有格式,并将其存储为纯数字。然后使用 string.format 以任何你想要的方式格式化它
-
你怎么知道在
105-6439或324-51-44等短号码的缺失字段中填写什么?我们可以假设他们都是+7 (495)...吗?前导095是+7 (495)的简写吗? -
我猜这些数字在某种数据库中。除了“规范化”它们之外,我没有看到任何其他解决方案:提取数字并根据您的俄罗斯电话号码格式重新格式化它们。
-
如果我有 105-6439 或 324-51-44 这样的数字,我必须使用莫斯科国际代码 (499) 对其进行格式化
标签: c# regex phone-number