Javascript正则表达式数值范围

Javascript正则表达式数值范围,javascript,regex,Javascript,Regex,有人能帮我用正则表达式吗。我正在尝试格式化一个电话号码并处理一系列分机号码。我尝试使用范围[1-5],但似乎不起作用 $(".phone").text(function(i, text) { if(text.length == 10) { //this portion works fine text = text.replace(/(\d{3})(\d{3})(\d{4})/, "($1) $2-$3"); return text; }else i

有人能帮我用正则表达式吗。我正在尝试格式化一个电话号码并处理一系列分机号码。我尝试使用范围[1-5],但似乎不起作用

$(".phone").text(function(i, text) {
    if(text.length == 10) { //this portion works fine
        text = text.replace(/(\d{3})(\d{3})(\d{4})/, "($1) $2-$3");
        return text;
    }else if (text.length > 10) { //this is where I need help
        text = text.replace(/(\d{3})(\d{3})(\d{4})(\d{[1-5]})/, "($1) $2-$3 x$4");
        return text;
    }
});

这里是否有一个正则表达式来处理一系列数字?

您对{[1-5]}的使用无效。{和}表示匹配数介于其中包含的两个数字之间(可以省略任何一个参数),而[1-5]匹配1、2、3、4或5中的一个字符。你需要:

    text = text.replace(/(\d{3})(\d{3})(\d{4})(\d{1,5})/, "($1) $2-$3 x$4");

相反。有关详细信息,请参阅关于重复。

您对{[1-5]}的使用无效。{和}表示匹配数介于其中包含的两个数字之间(可以省略任何一个参数),而[1-5]匹配1、2、3、4或5中的一个字符。你需要:

    text = text.replace(/(\d{3})(\d{3})(\d{4})(\d{1,5})/, "($1) $2-$3 x$4");

相反。有关详细信息,请参见“关于重复”。

是的,省略方括号并使用逗号

\d{1,5}

是的,省略方括号并使用逗号

\d{1,5}

很乐意帮忙!我已经添加了一个链接到一个指南,如果你需要的话,它会提供更多的信息。很乐意帮助!我添加了一个指向指南的链接,如果您需要,可以提供更多信息。