如何解决javascript中的正则表达式问题
const inputMask = (value) => value.replace(/\s/g,'').match(/.{1,4}/g)?.join(' ').substr(0,19) || '';
所以我有一个输入字段,每当用户输入一个数字时,它都会调用上面的函数 inputMask
。
我已经在文本输入框中输入了XXXXXXXXXXX
从 inputMask 函数返回的是 XXXX XXXX XXX
我想要实现的是XXX-XXXX-XXXX
解决方法
const input = '0121234567'
const res = input.toString().replace(/(\d{3})(\d{4})(\d{3})/,'$1-$2-$3');
console.log(res);
您可以使用 slice
并添加破折号
const input = '01211234567'
const inputMask = (value) => `${value.slice(0,3)}-${value.slice(4,8)}-${value.slice(8,11)}`;
console.log(inputMask(input));
不需要正则表达式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。