随笔 - 315  文章 - 1  评论 - 12  阅读 - 24万

js-控制输入框输入数字且每隔四个字符增加一个中横线

<input type="tel"  id="inputCode" oninput="value=value.replace(/[^\d|-]/g,'')" onfocus="this.placeholder=''" onblur="inputBlur()" placeholder="请输入激活码"  onkeyup="inputCodeUp(event)">

 

function inputCodeUp(e) {
var inputCode = document.getElementById("inputCode");
var val = inputCode.value;
var str = val.split("")
var targetStr = str[str.length - 1];
if(targetStr == '-') {
inputCode.value = val.substring(0, val.length - 1);
} else if((event.keyCode == 8) && ((val.length + 1) % 5 == 0)) {
inputCode.value = val.substring(0, val.length - 1);
} else
if((val != '-' && event.keyCode != 8)) {
if(val.length % 5 == 0) {
var strs = '';
for(var i = 0; i < str.length - 1; i++) {
strs += str[i];
}
inputCode.value = strs + "-" + targetStr;
}
}
}

posted on   小虾米吖~  阅读(1135)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」

点击右上角即可分享
微信分享提示