首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在输入的第三个数字后添加空格

在输入的第三个数字后添加空格
EN

Stack Overflow用户
提问于 2020-08-06 23:01:56
回答 1查看 282关注 0票数 1

我想在第三个数字之后添加空格,但如果输入是type="number",则此代码无法工作。有人知道如何修改代码以使其即使在type="number"中也能工作吗?以下是我的意见:

代码语言:javascript
运行
复制
<input type="number" id="phone" autocomplete="off" placeholder="(+420)">

这里还有剧本:

代码语言:javascript
运行
复制
<script>
document.getElementById('phone').addEventListener('input', function (e) {
    e.target.value = e.target.value.replace(/[^\dA-Z]/g, '').replace(/(.{3})/g, '$1 ').trim();
});
</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-06 23:49:25

试试这个:

代码语言:javascript
运行
复制
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("");
}

在活动中使用:

代码语言:javascript
运行
复制
this.value=insertBlankAfterEveryThreeCharacters(this.value);

代码语言:javascript
运行
复制
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("");
}
代码语言:javascript
运行
复制
<input id="phone">

<input type="number"...是这样的,所以你可以上升/下降一个=我假设不是一个预期的结果.

你的位置持有者有括号和一个加号-这不是你在解决方案中似乎需要的.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63292911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档