Удаление символов input mask jquery

152
19 февраля 2022, 20:00

Подскажите пожалуйста, как удалять символы из input. Сейчас удаляется только последний символ.

$(function() { 
  $("#phone").inputmask({ 
    "mask": "+38 (999) 999-99-99" 
  }); 
}); 
function del_ch() { 
  var type = $("#phone").val(); 
  $("#phone").val(type.substring(0, type.length - 1)); 
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/jquery.inputmask.bundle.js"></script> 
<input type="text" id="phone"> 
<input type="button" value="DEL" onclick="del_ch();">

Answer 1

Если Вам надо полностью удалить все введённые значения, то можно так:

$(function() { 
  $("#phone").inputmask({ 
    "mask": "+38 (999) 999-99-99" 
  }); 
}); 
function del_ch() { 
  var type = $("#phone").val(); 
  $("#phone").val(""); 
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/jquery.inputmask.bundle.js"></script> 
<input type="text" id="phone"> 
<input type="button" value="DEL" onclick="del_ch();">

Если по одной последней цифре - то надо модифицировать данные, так как стоит маска и вместо последней цифры Вы получаете _
Регулярные выражения расписал отдельно с комментарием, чтобы было понятнее. (Можно объединить)

$(function() { 
    $("#phone").inputmask({ 
        "mask": "+38 (999) 999-99-99" 
    }); 
}); 
function del_ch() { 
    var type = $("#phone").val(); 
    last = type.substr(-1); //пробовал вот так 
    last = type.slice(-1); //и вот так 
    type = type.replace(/_/g, ""); // Удаляем нижнее подчёркивание 
    type = type.replace(/-/g, ""); // Удаляем тире 
    type = type.replace(/[()]/g, ""); // Удаляем скобки 
    type = type.replace(/[ ]/g, ""); // Удаляем пробелы 
    $("#phone").val(type.substring(0, type.length - 1)); 
    }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/jquery.inputmask.bundle.js"></script> 
<input type="text" id="phone"> 
<input type="button" value="DEL" onclick="del_ch();">

READ ALSO
Новый массив из старого (DOM)

Новый массив из старого (DOM)

Есть псевдомассив элементов со страницы, храниться в переменной

153
Как добавить строку в динамическую таблицу?

Как добавить строку в динамическую таблицу?

Возникла проблемкаУ меня есть БД и на странице я вывожу одну таблицу

128
Возврат указателя на локальную переменную C++

Возврат указателя на локальную переменную C++

Есть два варианта функцииПочему не работает первый - понятно, но почему тогда срабатывает второй вариант?

69
Удалит ли деструктор по умолчанию объект, хранящийся в классе в виде ссылки?

Удалит ли деструктор по умолчанию объект, хранящийся в классе в виде ссылки?

Если поле класса хранит ссылку на объект, удалит ли деструктор по умолчанию объект, на который ссылается поле?

67