Javascript 用于插入的正则表达式-在数字中的特定索引之后
我试图在数字中插入“-”。我想在第三个和第七个字母后插入这个 例如,编号:123456789Javascript 用于插入的正则表达式-在数字中的特定索引之后,javascript,regex,Javascript,Regex,我试图在数字中插入“-”。我想在第三个和第七个字母后插入这个 例如,编号:123456789 所需号码:123-4567-89 到目前为止,我尝试的是: if (!Number.isNaN(value)) { val = value.match(/\d{3}(?=\d{2,3})|\d+/g).join('-'); } 这会在每三次出现后给出结果“-”,而不是所需的结果[即123-456-789]。一些正则表达式专家能帮上忙吗?使用 val = value.replace(/^(\d{3}
所需号码:123-4567-89 到目前为止,我尝试的是:
if (!Number.isNaN(value)) {
val = value.match(/\d{3}(?=\d{2,3})|\d+/g).join('-');
}
这会在每三次出现后给出结果“-”,而不是所需的结果[即123-456-789]。一些正则表达式专家能帮上忙吗?使用
val = value.replace(/^(\d{3})(\d{4})/, "$1-$2-")
见
详细信息
-字符串的开头^
-1:三位数字(\d{3})
-捕获组2:四位数字(\d{4})
$2
表示第2组值(后4位)
JS演示:
console.log(
“123456789”。替换(/^(\d{3})(\d{4})/,“$1-$2-”)
);代码>这就像一个魅力,解释非常清楚。非常感谢。