带有括号的jQuery验证添加方法正则表达式编号

时间:2018-12-13 11:56:47

标签: javascript jquery regex validation

我在输入字段中使用jquery validate plugin,要求在其中输入电话号码,并且我想添加带有正则表达式的验证器方法,该方法将对以“ 9 or 09 or +639 or 639 or (+63) or (+63) 9开头的任何数字进行验证”和后面的9位数

jQuery.validator.addMethod("phoneno", function(phone_number, element) {
        phone_number = phone_number.replace(/\s+/g, "");
        return this.optional(element) || phone_number.length > 9 && 
        //phone_number.match(/^((\+[1-9]{1,4}[ \-]*)|(\([0-9]{2,3}\)[ \-]*)|([0-9]{2,4})[ \-]*)*?[0-9]{3,4}?[ \-]*[0-9]{3,4}?$/);
        phone_number.match(/^(9|09|\+639|639|\((\+63)\) 9)\d{9}$/);
      }, "<br />Please specify a valid phone number");

此代码有效,并且可以验证以+63或{{1开头的任何以90963(+63)开头的数字}} 例如,它有效(+63) 9,但不带括号

我认为比赛正则表达式有误

1 个答案:

答案 0 :(得分:2)

^(9|09|\+?639|\(\+63\)\s?9?)\d{9}$

这可以验证:

+639123456789
9123456789
(+63)9123456789
(+63) 9123456789
(+63)123456789
(+63) 123456789