你好,我使用以下正则表达式验证瑞典号码
^(([+]46)((70[{0-9}])|(72[{0-9})])|(73[{0-9}])|(76[{0-9}]))([\d]{6}))$
字符串我希望我的电话号码为以下格式+46 70 5689 123或+46705689123请帮助我做这件事。
qyuhtwio1#
正则表达式中缺少空格(\s*):
\s*
^([+]46)\s*(7[0236])\s*(\d{4})\s*(\d{3})$
字符串
的数据
https://www.debuggex.com/r/vG3FFsIeqa82QQRS
我已经用更可读的东西替换了像70[{0-9}]这样的部分:7[0236]的值。
70[{0-9}]
7[0236]
7fhtutme2#
为什么有这么多括号?
^\+46 *7[0236] *\d{4} *\d{3}$
字符串应该做。
piztneat3#
为了有一个完整的答案,我将在这个线程添加。Manoj,你在评论中写道,你也想允许从0开始的数字,斯蒂芬的答案(尽管很好)没有涵盖。你想用
^(([+]46)\s*(7)|07)[02369]\s*(\d{4})\s*(\d{3})$
字符串允许:
后跟0/2/3/6/9,(可能的空格),4位数字,(可能的空格),3位数字x1c 0d1x的数据Debuggex Demo
h5qlskok4#
我用这样的东西。可能会做得更整洁,但它可以处理:
^([+]46)\s*((1| 7)[0236]))|(0(1| 7)[0236]))\s*(([-]|())\s*[0 - 9]\s [0 - 9]\s [0-9]\s[0 - 9]\s[0 -9]\s [0 - 9]\s [0 - 9]\s|([0-9]\s([-]|()\s*[0 -9]\s*[0 - 9]\s*[0 - 9]\s *[0 - 9]\s *[0 - 9]\s [0 - 9]\s)$
8wigbo565#
第一个月将与0046 708 777 666合作try it out
68bkxrlz6#
/^07(0| 2| 3| 6| 9)\d{7}$/g这将适用于以以下首字母开头的本地号码:070、072、073、076、079移动的电话网络示例:076 xxxxxxx x将是数字
mcvgt66p7#
我会写这篇文章,因为主题是“瑞典电话号码”,而不是“瑞典手机号码”。尽管这可能不是QS要求的。瑞典的固定电话号码可能在前缀后有任何数字,根据数字的长度有很多不同的空格设置,有时它们也用连字符写。
Length 0+9 numbers 08-xxx xxx xx 0xx-xxx xx xx 0xxx-xx xx xx Length 0+8 numbers 08-xxx xx xx 0xx-xx xx xx 0xxx-xxx xx Length 0+7 numbers 08-xx xx xx 0xx-xxx xx Length 0+9 numbers (Mobile) 07x-xxx xx xx
字符串前缀+46或00也可以应用于这些号码。同时添加QS要求的符号:
+46 70 5689 123 +46705689123 +46 85 68 91 23
型这使得在编写regexp时跟踪所有这些空格变得非常麻烦。这就是为什么我的建议是修剪/删除所有的空格和/或连字符,然后运行这个正则表达式:
^(([+]46)|(0)|(00))(\d{7,9})$
型在我看来,你最好规范你在数据库中输入数字的方式,不要添加不必要的空格,以避免污染数据。来源:https://sv.wikipedia.org/wiki/Telefonnummerhttps://sv.wikipedia.org/wiki/Lista_%C3%B6ver_svenska_riktnummer的
7条答案
按热度按时间qyuhtwio1#
正则表达式中缺少空格(
\s*
):字符串
说明
的数据
Demo
https://www.debuggex.com/r/vG3FFsIeqa82QQRS
讨论
我已经用更可读的东西替换了像
70[{0-9}]
这样的部分:7[0236]
的值。7fhtutme2#
为什么有这么多括号?
字符串
应该做。
piztneat3#
为了有一个完整的答案,我将在这个线程添加。Manoj,你在评论中写道,你也想允许从0开始的数字,斯蒂芬的答案(尽管很好)没有涵盖。
你想用
字符串
允许:
后跟0/2/3/6/9,(可能的空格),4位数字,(可能的空格),3位数字
x1c 0d1x的数据
Debuggex Demo
h5qlskok4#
我用这样的东西。可能会做得更整洁,但它可以处理:
^([+]46)\s*((1| 7)[0236]))|(0(1| 7)[0236]))\s*(([-]|())\s*[0 - 9]\s [0 - 9]\s [0-9]\s[0 - 9]\s[0 -9]\s [0 - 9]\s [0 - 9]\s|([0-9]\s([-]|()\s*[0 -9]\s*[0 - 9]\s*[0 - 9]\s *[0 - 9]\s *[0 - 9]\s [0 - 9]\s)$
8wigbo565#
第一个月
将与0046 708 777 666合作
try it out
68bkxrlz6#
/^07(0| 2| 3| 6| 9)\d{7}$/g
这将适用于以以下首字母开头的本地号码:070、072、073、076、079移动的电话网络示例:076 xxxxxxx x将是数字
mcvgt66p7#
我会写这篇文章,因为主题是“瑞典电话号码”,而不是“瑞典手机号码”。尽管这可能不是QS要求的。
瑞典的固定电话号码可能在前缀后有任何数字,根据数字的长度有很多不同的空格设置,有时它们也用连字符写。
字符串
前缀+46或00也可以应用于这些号码。同时添加QS要求的符号:
型
这使得在编写regexp时跟踪所有这些空格变得非常麻烦。这就是为什么我的建议是修剪/删除所有的空格和/或连字符,然后运行这个正则表达式:
型
在我看来,你最好规范你在数据库中输入数字的方式,不要添加不必要的空格,以避免污染数据。
来源:
https://sv.wikipedia.org/wiki/Telefonnummer
https://sv.wikipedia.org/wiki/Lista_%C3%B6ver_svenska_riktnummer的