在regex中指定国家/地区代码

时间:2015-08-07 22:13:15

标签: javascript regex

以下是我目前用于验证用户手机输入的正则表达式。是否可以将其更改为适用于特定国家/地区的代码,例如下面代码中的testPhoneNumber。 (264)

var testPhoneNumber = '(+264)814696144';
var testPattern =/^\(?(\+[0-9]{3})\)?[-.]?([0-9]{2})?[-.]?([0-9]{3})[-.]?([0-9]{4})$/;

1 个答案:

答案 0 :(得分:2)

我认为您要问的是:&#34;此RegEx验证我的testPhoneNumber,但我希望它针对+264区域代码进行验证,而不是< strong>每个区号。&#34;

在那种情况下,那么

var testPattern =/^\(?(\+(?:264))\)?[-.]?([0-9]{2})?[-.]?([0-9]{3})[-.]?([0-9]{4})$/;

// testPattern.test('(+264)814696144');
// returns true
// testPattern.test('(+265)814696144');
// returns false

会起作用。

注意,如果您想单独添加更多区域代码(例如456和789),可以将它们放在(?:)部分中,如下所示:

var testPattern =/^\(?(\+(?:264|456|789))\)?[-.]?([0-9]{2})?[-.]?([0-9]{3})[-.]?([0-9]{4})$/;

只需将它们用管道|分隔,它在正则表达式中充当or