我正在尝试使用正则表达式来按国家/地区验证电话号码。我按国家/地区进行电话格式,其中包含:
^(\+33|0)([1-9][0-9]{8})$)
验证正则表达式(示例:)+33$2
获取国际号码的转换(例如:)0$2
获得国家号码的转换(例如:)
关于意大利,它变得越来越棘手。
大多数电话号码都是这样工作的:“+39 123456789”=>“ 0 123456789”
但对于移动设备,它是:“+39 3 123456789”=>“ 3 123456789”
这意味着,要获得国家电话号码,我必须添加一个 0,但手机号码除外。
到目前为止,我只能通过两种手机格式来实现它,一种用于手机,另一种用于其他手机。它们是相互排斥的。
手机=>
- 验证正则表达式:
^(\+393|3)([0-9]{9})$
- 转换以获得国际号码:
+393$2
- 转换以获得国家号码:
3$2
其他 =>
- 验证正则表达式:
^(\+39|0)([0-9]{9})$
- 转换以获得国际号码:
+39$2
- 转换以获得国家号码:
0$2
有什么办法可以一次性完成吗?
手机样品:
- 0123456789
- +39123456789
- 3123456789
- +393123456789