首页 > 解决方案 > javascript中正则表达式值的问题

问题描述

我目前正在尝试屏蔽输入字段。我目前有以下代码格式化输入:

    const inputMask = (value) => value.replace(/\s/g, '').match(/.{1,4}/g)?.join(' ').substr(0, 19) || '';

inputMask所以我有一个输入字段,只要用户输入数字,它就会调用上述函数。

我在文本输入中输入了 XXXXXXXXXXXX

从 inputMask 函数返回的是 XXXX XXXX XXX

我想要实现的是 XXX-XXXX-XXXX

标签: javascript

解决方案


const input = '0121234567'
const res = input.toString().replace(/(\d{3})(\d{4})(\d{3})/, '$1-$2-$3');
console.log(res);


推荐阅读