regex 保加利亚移动的电话号码的正则表达式

cfh9epnr  于 2023-05-08  发布在  其他
关注(0)|答案(5)|浏览(188)

你好,我应该想到这个正则表达式:
电话号码应该以087或088或089开始,然后后面应该有7位数字:这是我做的,但它不能正常工作:它只接受以089开始的数字

(087)|(088)|(089)[0-9]{7}";
ztmd8pv5

ztmd8pv51#

/08[789]\d{7}/

将匹配087xxxxxxx088xxxxxxx089xxxxxxx数字。
See it in action

xxe27gdn

xxe27gdn2#

也许/08[7-9][0-9]{7}/就是你要找的?
尸检:

  • 08- *a文字08 *
  • [7-9]- * 匹配7-9中的数字一次 *
  • [0-9]{7}- * 匹配重复7次的0-9的数字 *

也就是说,如果字符串是only电话号码,您可能更喜欢/^08[7-9][0-9]{7}$/。(^表示“字符串必须从这里开始”,$表示“字符串必须从这里结束”)。

li9yvcax

li9yvcax3#

实际上,对于保加利亚电话号码来说,这将是更好的正则表达式:

/(\+)?(359|0)8[789]\d{1}(|-| )\d{3}(|-| )\d{3}/

它检查:
1.以国家代码(+359)或0开头的电话;
1.如果电话号码使用分隔符,如-或空格。

a7qyws3x

a7qyws3x4#

我在https://regex101.com中尝试了它,它对我的测试集不起作用。所以我用下面的正则表达式模式稍微调整了一下:

^([+]?359)|0?(|-| )8[789]\d{1}(|-| )\d{3}(|-| )\d{3}$
ojsjcaue

ojsjcaue5#

/^(((\+|00)359[- ]?)|(0))(8[- ]?[789]([- ]?\d){7})$/gm

See demo。与前面的答案一样,分隔符(空格和破折号)可以在任何位置。但是不允许使用像--这样的双分隔符。涵盖以下样品:

  • 电话:+359882333444
  • 电话:+359 882 333 444
  • 电话:+359-882 33-34-44
  • 电话:+35988 233-3444
  • 电话:088 - 233 - 3444
  • 0882 333-444

不接受字符串前后白色。

相关问题