javascript - 求每输入五个字符自动用‘-’隔开的正则表达式
巴扎黑
巴扎黑 2017-04-11 11:01:45
[JavaScript讨论组]

input里面可以输入或者粘贴文本,里面的文本只能是[a-zA-Z0-9],每输入5个字符,自动加入'-',正则表达式如何表示呀

巴扎黑
巴扎黑

全部回复(4)
迷茫

想多了,把简单问题搞复杂~

"1234567890abcDEFg".replace(/([^_\W]{5})/g,"$1-")
//"12345-67890-abcDE-Fg"
黄舟
'1234567890abcd'.replace(/\w(?=(\w{5})+$)/g, "$&-");//"1234-56789-0abcd"
PHPz

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中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号