你好,我应该想到这个正则表达式:电话号码应该以087或088或089开始,然后后面应该有7位数字:这是我做的,但它不能正常工作:它只接受以089开始的数字
(087)|(088)|(089)[0-9]{7}";
ztmd8pv51#
/08[789]\d{7}/
将匹配087xxxxxxx,088xxxxxxx,089xxxxxxx数字。See it in action
087xxxxxxx
088xxxxxxx
089xxxxxxx
xxe27gdn2#
也许/08[7-9][0-9]{7}/就是你要找的?尸检:
/08[7-9][0-9]{7}/
08
[7-9]
[0-9]{7}
也就是说,如果字符串是only电话号码,您可能更喜欢/^08[7-9][0-9]{7}$/。(^表示“字符串必须从这里开始”,$表示“字符串必须从这里结束”)。
/^08[7-9][0-9]{7}$/
^
$
li9yvcax3#
实际上,对于保加利亚电话号码来说,这将是更好的正则表达式:
/(\+)?(359|0)8[789]\d{1}(|-| )\d{3}(|-| )\d{3}/
它检查:1.以国家代码(+359)或0开头的电话;1.如果电话号码使用分隔符,如-或空格。
a7qyws3x4#
我在https://regex101.com中尝试了它,它对我的测试集不起作用。所以我用下面的正则表达式模式稍微调整了一下:
^([+]?359)|0?(|-| )8[789]\d{1}(|-| )\d{3}(|-| )\d{3}$
ojsjcaue5#
/^(((\+|00)359[- ]?)|(0))(8[- ]?[789]([- ]?\d){7})$/gm
See demo。与前面的答案一样,分隔符(空格和破折号)可以在任何位置。但是不允许使用像--这样的双分隔符。涵盖以下样品:
--
不接受字符串前后白色。
5条答案
按热度按时间ztmd8pv51#
将匹配
087xxxxxxx
,088xxxxxxx
,089xxxxxxx
数字。See it in action
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}$/
。(^
表示“字符串必须从这里开始”,$
表示“字符串必须从这里结束”)。li9yvcax3#
实际上,对于保加利亚电话号码来说,这将是更好的正则表达式:
它检查:
1.以国家代码(+359)或0开头的电话;
1.如果电话号码使用分隔符,如-或空格。
a7qyws3x4#
我在https://regex101.com中尝试了它,它对我的测试集不起作用。所以我用下面的正则表达式模式稍微调整了一下:
ojsjcaue5#
See demo。与前面的答案一样,分隔符(空格和破折号)可以在任何位置。但是不允许使用像
--
这样的双分隔符。涵盖以下样品:不接受字符串前后白色。