2

这些是印度尼西亚的一些电话号码

08xxxxxxxxx(最少 11 个字符长度)

08xxxxxxxxxxx(总是以 08 开头)

我发现这个很有用

Regex regex = new Regex(@"08[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]");

但是,它只支持 12 个字符,如果我将它们更改为以下正则表达式

Regex regex = new Regex(@"08[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]");

它只支持 11 个字符,我如何制作正则表达式以验证以开头08且最小长度为 11?

4

5 回答 5

6
^08[0-9]{9,}$

{9,}意味着“至少 9 个”,但可能更多。

我将其更改为 9 以说明两位前导数字(加起来为 11)。

于 2013-01-31T03:32:44.340 回答
3
08\d{9,10}

翻译为“以 08 开头”;最少 11 位,最多 12 位数字。

编辑:计数。

于 2013-01-31T03:32:09.750 回答
1

这个模式怎么样?

^08\d{9,10}$

这将检查 11 到 12 个字符,包括08

于 2013-01-31T03:32:32.763 回答
0

我会添加更完整的版本,这里是(带数字分组)

([\[\(])?(?:(\+62)|62|0)\1? ?-? ?8(?!0|4|6)\d(?!0)\d\1? ?-? ?\d{3,4} ?-? ?\d{3,5}(?: ?-? ?\d{3})?\b

它将接受这样的格式

(0811) 123 123

[62] 812 1234567

0812 345 6789

+62856123456789

0878-123-123-123

[+62823] 1234 - 56789 ---> 我相信这是撰写本文时最长的电话号码

于 2017-10-28T03:53:25.910 回答
0
((\+62 8\d{2}([ -])|08\d{2}([ -]?)|\+628\d{2})\d{4}(\3\4)\d{2,5})

这将接受最常用的样式,例如
08xx xxxx xxxx
08xxxxxxxxxxxx
08xx-xxxx-xxxx
+628xxxxxxxxxx
+62 8xx xxxx xxxx
+62 8xx-xxxx-xxxx
这也将检查 11-13 长数字
对不起语法

于 2021-03-22T07:01:16.480 回答