有人可以帮助使用正则表达式。我正在尝试格式化电话号码并处理一系列分机号码。我尝试使用范围[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;
}
});
这里有一个正则表达式来处理一系列数字吗?
答案 0 :(得分:2)
是的,省略方括号并使用逗号。
\d{1,5}
答案 1 :(得分:1)
您对{[1-5]}的使用无效。 {和}表示匹配数在其中包含的两个数字之间(参数可以省略),而[1-5]匹配1,2,3,4或5中的一个字符。您需要:< / p>
text = text.replace(/(\d{3})(\d{3})(\d{4})(\d{1,5})/, "($1) $2-$3 x$4");
代替。有关详细信息,请参阅有关重复的this QuickStart。