1

你好我应该想到这个正则表达式:

电话号码应以 087 或 088 或 089 开头,然后应跟随 7 位数字:这是我所做的,但它不能正常工作:它只接受以 089 开头的数字

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

4 回答 4

2

也许/08[7-9][0-9]{7}/是你正在寻找的东西?

尸检:

  • 08-文字08
  • [7-9]-匹配 7-9 的数字一次
  • [0-9]{7}-匹配 0-9 的数字,恰好重复 7 次

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

于 2013-09-26T15:43:46.247 回答
2
/08[789]\d{7}/

这将匹配087xxxxxxx, 088xxxxxxx,089xxxxxxx数字。

看到它在行动

于 2013-09-26T15:51:08.023 回答
0

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

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

它检查:

  1. 以国家代码(+359)或 0 开头的电话;
  2. 如果电话号码使用 - 或空格等分隔符。
于 2019-03-12T15:23:59.527 回答
0

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

^([+]?359)|0?(|-| )8[789]\d{1}(|-| )\d{3}(|-| )\d{3}$
于 2020-01-07T06:55:52.220 回答