我想在第三个数字之后添加空格,但如果输入是type="number",则此代码无法工作。有人知道如何修改代码以使其即使在type="number"中也能工作吗?以下是我的意见:
<input type="number" id="phone" autocomplete="off" placeholder="(+420)">这里还有剧本:
<script>
document.getElementById('phone').addEventListener('input', function (e) {
e.target.value = e.target.value.replace(/[^\dA-Z]/g, '').replace(/(.{3})/g, '$1 ').trim();
});
</script>发布于 2020-08-06 23:49:25
试试这个:
function insertBlankAfterEveryThreeCharacters(str) {
var str=str.split(" ").join("").split("");
var formatted=[];
while(str.length) {
for(var i=0; i<3 && str.length; i++) {
formatted.push(str.shift());
}
if(str.length) formatted.push(" ");
}
return formatted.join("");
}在活动中使用:
this.value=insertBlankAfterEveryThreeCharacters(this.value);
document.getElementById('phone').addEventListener('input', function (e) {
this.value=insertBlankAfterEveryThreeCharacters(this.value);
});
function insertBlankAfterEveryThreeCharacters(str) {
var str=str.split(" ").join("").split("");
var formatted=[];
while(str.length) {
for(var i=0; i<3 && str.length; i++) {
formatted.push(str.shift());
}
if(str.length) formatted.push(" ");
}
return formatted.join("");
}<input id="phone">
<input type="number"...是这样的,所以你可以上升/下降一个=我假设不是一个预期的结果.
你的位置持有者有括号和一个加号-这不是你在解决方案中似乎需要的.
https://stackoverflow.com/questions/63292911
复制相似问题