我想在一个数字中插入' - '.我想在第3和第7封信之后插入.
例如.编号:123456789
所需数量:123-4567-89
到目前为止我尝试了什么:
if (!Number.isNaN(value)) {
val = value.match(/\d{3}(?=\d{2,3})|\d+/g).join('-');
}
Run Code Online (Sandbox Code Playgroud)
这给了我每三次出现后的结果' - '而不是所需的结果[即123-456-789].一些正则表达式专家可以帮助这个吗?
使用
val = value.replace(/^(\d{3})(\d{4})/, "$1-$2-")
Run Code Online (Sandbox Code Playgroud)
请参阅正则表达式演示
细节
该$1代表组1的值(第一3位数字)和$2为第2组值代表(在接下来的4位数字).
JS演示:
console.log(
"123456789".replace(/^(\d{3})(\d{4})/, "$1-$2-")
);Run Code Online (Sandbox Code Playgroud)