javascript中正则表达式a值的问题
我目前正试图屏蔽一个输入字段。目前我有以下代码用于格式化输入:javascript中正则表达式a值的问题,javascript,Javascript,我目前正试图屏蔽一个输入字段。目前我有以下代码用于格式化输入: const inputMask = (value) => value.replace(/\s/g, '').match(/.{1,4}/g)?.join(' ').substr(0, 19) || ''; 因此,我有一个输入字段,每当用户输入数字时,它都会调用上述函数inputMask 我已在文本输入中输入XXXXXXXXXX 从inputMask函数返回的是XXXX XXXX XXX 我试图实现的是XXX-XXX
const inputMask = (value) => value.replace(/\s/g, '').match(/.{1,4}/g)?.join(' ').substr(0, 19) || '';
因此,我有一个输入字段,每当用户输入数字时,它都会调用上述函数inputMask
我已在文本输入中输入XXXXXXXXXX
从inputMask函数返回的是XXXX XXXX XXX
我试图实现的是XXX-XXXX-XXXX您可以使用
切片
并添加破折号
const输入='01211234567'
constInputMask=(value)=>`${value.slice(0,3)}-${value.slice(4,8)}-${value.slice(8,11)}`;
日志(输入掩码(输入))代码>
const输入='0121234567'
const res=input.toString().replace(/(\d{3})(\d{4})(\d{3})/,“$1-$2-$3”);
控制台日志(res)代码>输入值是多少?@0stone0 01211234567所以您试图从输入中删除双精度1
?但这些都是10位数字,您的输入显示为11…不幸的是,它仍然没有。输入中有11个字符,但输出中有10个字符。那一个字符到哪里去了?