瑞典电话号码正则表达式

时间:2013-12-19 09:52:02

标签: c# regex

您好我正在使用以下正则表达式来验证瑞典号码

^(([+]46)((70[{0-9}])|(72[{0-9})])|(73[{0-9}])|(76[{0-9}]))([\d]{6}))$

我希望我的号码格式为+46 70 5689 123或+46705689123

请帮我这样做。

4 个答案:

答案 0 :(得分:8)

正则表达式中缺少空格(\s*):

^([+]46)\s*(7[0236])\s*(\d{4})\s*(\d{3})$

描述

Regular expression visualization

演示

https://www.debuggex.com/r/vG3FFsIeqa82QQRS

讨论

我已将70[{0-9}]这样的部分替换为更具可读性的部分:7[0236]

答案 1 :(得分:4)

为什么这么多括号?

^\+46 *7[0236] *\d{4} *\d{3}$

应该这样做。

答案 2 :(得分:0)

为了得到完整的答案,我将添加到此线程中。 马诺伊(Manoj),您在评论中写道,您还希望允许以0开头的数字,但斯蒂芬(尽管不错)的答案无法涵盖该数字。

您要使用

^(([+]46)\s*(7)|07)[02369]\s*(\d{4})\s*(\d{3})$

允许:

  • +46 7
  • +467
  • 07

后跟0/2/3/6/9,(可能的空格),4位数字,(可能的空格),3位数字

Regular expression visualization

Debuggex Demo

答案 3 :(得分:0)

^((((0{2}?)|(\+){1})46)|0)7[\d]{8}

将适用于0046 708 777 666

try it out