如何在输入数字时在数字输入字段中添加破折号?

2024-04-29

我正在尝试使用 javascript 将破折号插入到 html 数字字段中4th输入时输入数字。我在模糊中执行此操作,而不是在按键、按键上等中执行此操作。但是当我尝试将功能更改为on-key-press/on-key-up事件它没有给出预期的结果。

这是我使用的代码。

<html>
<head>
<script>
 function addDashes(f)
 {
   f.value = f.value.slice(0,4)+"-"+f.value.slice(4,8)+"-"+f.value.slice(8,12);
 }
</script>
</head>
  <body>
     Phone: <input type='text' name='phone' onblur='addDashes(this)' maxlength='12'><BR>
  </body>
</html>

我是“JavaScript”的初学者。我哪里做错了?


这会起作用。它还支持“删除”号码。

但是,我建议您使用masking https://igorescobar.github.io/jQuery-Mask-Plugin/

$(document).ready(function () {
    $("#txtPhoneNo").keyup(function (e) {
      if($(this).val().length === 14) return;
      if(e.keyCode === 8 || e.keyCode === 37 || e.keyCode === 39) return;
      let newStr = '';
      let groups = $(this).val().split('-');
      for(let i in groups) {
       if (groups[i].length % 4 === 0) {
        newStr += groups[i] + "-"
       } else {
        newStr += groups[i];
       }
      }
      $(this).val(newStr);
    });
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' id="txtPhoneNo" name='phone' maxlength='14'><BR>

如果您想要使用屏蔽的片段,请告诉我,我将非常乐意提供帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在输入数字时在数字输入字段中添加破折号? 的相关文章

随机推荐