Мое предложение - не использовать метод input
, потому что он новый и не поддерживается во всех браузерах ссылка , это в основном то же самое, что и ответ пользователя @ User863, здесь я использовал событие keyup
, это бит показывает символ при вводе в текстовое поле, а затем после того, как он будет преобразован в *
.
$("#txtField").on('keyup', function() {
let data = $(this).val();
let splitData = data.split("-");
if (splitData[1])
splitData[1] = splitData[1].replace(/./g, '*');
if (splitData[3])
splitData[3] = splitData[3].replace(/./g, '*');
$(this).val(splitData.join("-"));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<input type="text" id="txtField" maxlength="19">