Можно ли при помощи input masked разрешить только цифры в поле input?
Вопрос пожалуй нубский, но я не могу нигде найти информации можно ли как-то при помощи masked input разрешить вводить только цифры в поле input? Если да, то как прописать это?
|
В событии input удалять иное replace(/\D/, "")
|
Лучше на keydown проверять
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</style>
</style>
</head>
<body>
<input type=text id=digonly>
</body>
<script>
document.getElementById('digonly').addEventListener('keydown',
(ev) => {if( ev.key.length==1 && (ev.key<'0' || '9'< ev.key)) ev.preventDefault() })
</script>
</html>
|
Спасибо, в итоге использовала такой вариант
jQuery(document).ready(function($) {
$(document).on("change keyup input click", "input[type='tel']", function() {
if(this.value.match(/[^0-9]/g)){
this.value = this.value.replace(/[^0-9]/g, "");
};
});
});
|
Цитата:
|
Цитата:
|
if(this.value.match(/[^0-9]/g)) - это вы прошерстили строку рег. выражением, и если обнаружено, то второй раз шерстите - this.value.replace(/[^0-9]/g, ""). А какой в этом смысл, если .replace(/[^0-9]/g, "") вырежет только если будут такие. Здесь условие просто лишнее. Ну и в наборе событий явный перебор, "
|
| Часовой пояс GMT +3, время: 01:27. |