以下是我目前用于验证用户手机输入的正则表达式。是否可以将其更改为适用于特定国家/地区的代码,例如下面代码中的testPhoneNumber。 (264)
var testPhoneNumber = '(+264)814696144';
var testPattern =/^\(?(\+[0-9]{3})\)?[-.]?([0-9]{2})?[-.]?([0-9]{3})[-.]?([0-9]{4})$/;
答案 0 :(得分:2)
我认为您要问的是:"此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
。