扫码关注官方订阅号
input里面可以输入或者粘贴文本,里面的文本只能是[a-zA-Z0-9],每输入5个字符,自动加入'-',正则表达式如何表示呀
想多了,把简单问题搞复杂~
"1234567890abcDEFg".replace(/([^_\W]{5})/g,"$1-") //"12345-67890-abcDE-Fg"
'1234567890abcd'.replace(/\w(?=(\w{5})+$)/g, "$&-");//"1234-56789-0abcd"
var txt=document.getElementById("txt");
txt.oninput=function(){ var val=txt.value; var len=val.length; if(len%5==0){ txt.value=val+"-"; } } }
这个用正则不好实现,可以写一个函数来做这个事情
比如:
function insertSplit(str, split) { split = split || '-'; var strList = str.split(''); var result = []; strList.forEach(function(item, index) { result.push(item); if ((index + 1) % 5 === 0) { result.push('-'); } }); return result.join(''); }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
想多了,把简单问题搞复杂~
var txt=document.getElementById("txt");
这个用正则不好实现,可以写一个函数来做这个事情
比如: