Javascript 如何在正则表达式中生成ABC-1234格式
我已经使用正则表达式进行了格式化:Javascript 如何在正则表达式中生成ABC-1234格式,javascript,php,regex,Javascript,Php,Regex,我已经使用正则表达式进行了格式化: <p class="phone">2124771000</p> $(".phone").text(function(i, text) { text = text.replace(/(\d\d\d)(\d\d\d)(\d\d\d\d)/, "$1-$2-$3"); return text; }); 2124771000 $(“.phon
<p class="phone">2124771000</p>
$(".phone").text(function(i, text) {
text = text.replace(/(\d\d\d)(\d\d\d)(\d\d\d\d)/, "$1-$2-$3");
return text;
});
2124771000
$(“.phone”).text(函数(i,text){
text=text.replace(/(\d\d\d)(\d\d\d)(\d\d\d\d)/,“$1-$2-$3”);
返回文本;
});
使用上述示例,我能够转换212-477-1000:
<p class="phone">ABC1234</p>
ABC1234
现在我想使用上面的文本制作ABC-1234字符串
测试环境:以下内容将检查3个大写字母和4个数字:
$(".phone").text(function(i, text) {
text = text.replace(/([A-Z]{3})(\d{4})/, "$1-$2");
return text;
});
你可以试试这个式样
text = text.replace(/([a-zA-Z]+)(\d+)/, "$1-$2");
您可以在
ABC1234
中尝试此操作:
$(“.phone”).text(函数(i,text){
text=text。替换(/([a-z]+(?=\d+))/i,“$1-”;
返回文本;
});代码>
ABC1234
如果您希望在1个正则表达式中捕获这两个参数
您可以使用任一表达式|
例如
/^(\d{3})(\d{3})(\d{4})|([A-Z]{3})(\d{4})$/
函数替换器(m、p1、p2、p3、p4、p5){
if(p1)返回[p1,p2,p3]。连接('-'))
else返回[p4,p5]。join('-');
}
$(“.phone”).text(函数(i,text){
text=text.replace(/^(\d{3})(\d{3})(\d{4})|([A-Z]{3})(\d{4})$/,replacer);
返回文本;
});代码>
ABC1234
1234
XYZ2345
99999999