正则表达式,用于检查国际和国内号码的后缀

时间:2014-02-20 17:40:32

标签: regex numbers

我需要使用相同的正则表达式检查国内和国际号码。 我收到33ZABPQMCDU和0ZABPQMCDU格式的数字。

正则表达式必须接受33ZABPQMCDU和0ZABPQMCDU格式,但拒绝3389BPQMCDU和089BPQMCDU格式的数字。

例如

好的:

0545904660

33545904660

KO:

0895904660

33895904660

我不知道如何验证数字是否构造良好,同时拒绝以 089 3389 开头的数字。

由于

1 个答案:

答案 0 :(得分:0)

你必须使用否定的先行断言。

(?!^089\d{7}$)

不包括以“089”开头的10位数字。这里:

/(?!^089\d{7}$)(?!^3389\d{7}$)^(\d{10}\d?)$/

另见RegEx to exclude a specific string constant