几个长度的字符串问题后自动填充破折号

时间:2018-11-14 03:20:57

标签: javascript html

以前,我已经完成了一个有用的功能,供用户在字符串长度后自动填充破折号。

要了解我的情况:

  1. 我有一个文本框供用户键入手机号码。
  2. 要使插入的值具有相同的格式,我编写了一个脚本来自动插入长度为char的破折号。
  3. 问题是,每当我要删除插入的值时,脚本都不允许我执行,因为它会在一定长度后自动填充破折号 字符串,除非我按下“退格”键的时间更长,否则只有我可以擦除 插入的值。

这是我的自动插入破折号脚本:

$(document).ready(function() {
$("input[name$='Mobile No. Text Box']").keyup(function(){
if ($(this).val().length == 5){ 
$(this).val($(this).val() + "-"); } 
}); });

这是文本框的图像

Mobile No. Text Box

请帮助,谢谢。

致谢

2 个答案:

答案 0 :(得分:0)

尝试添加验证,以避免在用户按下退格键时添加“-”

$(document).ready(function() {
$("input[name$='Mobile No. Text Box']").keyup(function(e){

if ($(this).val().length == 5 && e.which != 8){ 
$(this).val($(this).val() + "-"); } 
}); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input name="Mobile No. Text Box">

答案 1 :(得分:0)

那里有很多可以帮助您解决此问题的库。我个人推荐这个https://github.com/text-mask

您可以在此处https://github.com/text-mask/text-mask/tree/master/vanilla#readme通读普通的JavaScript用法

我相信它的第一个示例是您正在寻找的基本电话号码输入。