我正在尝试使用regex来按国家/地区验证电话号码。 我按国家/地区制作电话格式,其中包含:
^(\+33|0)([1-9][0-9]{8})$)
)+33$2
)0$2
)关于意大利,它变得棘手。
大多数电话号码都是这样的: “+39 123456789”=> “ 0 123456789”
但对于移动设备,它是: “+39 3 123456789”=> “ 3 123456789”
这意味着,要获取国内电话号码,我必须添加0,手机号码除外。
到目前为止,我只能通过2种手机格式实现它,一种用于移动电话,另一种用于其他手机。 它们是相互排斥的。
mobile =>
^(\+393|3)([0-9]{9})$
+393$2
3$2
其他=>
^(\+39|0)([0-9]{9})$
+39$2
0$2
有没有办法一次做?
电话样本:
答案 0 :(得分:0)
复合表达式:
^(\+393|3|\+39|0)([0-9]{9})$
条件替换应该在代码中完成,具有bool成员变量,根据$1
指定该数字是否是移动的。