skillbox banner 468x60skillbox banner 728x90skillbox banner 930x180jivo banner 468x60jivo banner 728x90jivo banner 930x180flexbe banner 468x60flexbe banner 728x90flexbe banner 930x180

Как разрешить только числовое значение при вводе текста HTML с помощью jQuery

Если вы хотите разрешить пользователям вводить только числовое значение в поле input HTML, вы можете создать регулярное выражение и проверять входное значение на соответствие с ним с помощью метода test().

Давайте посмотрим следующий пример, который применяет красный контур к текстовому полю ввода, если введенное значение не является целым или дробным числом, в противном случае применяет зеленый контур:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery Allow Only Numeric Input in HTML Text Input Field</title>
<style>
    .success{
        outline: 2px solid green;
    }
    .error{
        outline: 2px solid red;
    }
</style>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script>
$(document).ready(function(){
    // Определяем регулярное выражение
    var regex = /^\d*[.]?\d*$/;
    
    $("#myInput").on("input", function(){
        // Получаем входящее значение
        var inputVal = $(this).val();
        
        // Проверяем входящее значение на соответствие регулярному выражению
        if(regex.test(inputVal)){
            $(this).removeClass("error").addClass("success");
        } else{
            $(this).removeClass("success").addClass("error");
        }
    });
});
</script>
</head>
<body>
    <input type="text" id="myInput">
    <p><strong>Note:</strong> This HTML text input only allow numeric keystrokes and decimal ('.')</p>
</body>
</html>

Обратите внимание, что событие ввода запускается при вводе с клавиатуры, перетаскивании мышью, автозаполнении и даже копировании и вставке. Но он не сработает, если вы вставите ту же строку или выберите и повторно введите тот же символ внутри input.

Если вы хотите разрешить ввод текста HTML только числовыми символами (0-9), используйте регулярное выражение /^\d*$/. В приведенном выше примере, если вы также хотите разрешить отрицательные значения, вы можете использовать регулярное выражение /^-?\d*[.]?\d*$/.

skillbox banner 480x320skillbox banner 728x90skillbox banner 120x600etxt banner 480x320etxt banner 728x90etxt banner 120x600flexbe banner 480x320flexbe banner 728x90flexbe banner 120x600

Читайте также

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

Похожие посты

Как на jQuery написать код, который при клике на кнопку будет копировать текущий url сайта?

Вот пример кода на jQuery, который копирует текущий URL сайта в буфер обмена при нажатии на кнопку с классом copy-current-url: Как это работает: Этот подход работает в большинстве браузеров. Однако, если вы используете современные методы, можно также заменить document.execCommand на API navigator.clipboard, если поддержка браузера это позволяет.
Подробнее

Как на jQuery отслеживать событие ввода символов?

Для отслеживания события ввода символов на jQuery можно использовать событие input. Оно срабатывает каждый раз, когда происходит изменение в поле ввода (например, при наборе текста или удалении символов). Вот пример: В этом примере: Если нужно отследить событие только при изменении текста (например, при нажатии клавиш), можно использовать событие keyup, но input более универсально, так как…
Подробнее

Как на jQuery можно отслеживать изменение текстового тега

В jQuery изменение текста внутри тега можно отслеживать несколькими способами, в зависимости от того, как это изменение происходит. Основной подход — это использовать MutationObserver, так как он позволяет отслеживать изменения в DOM. Вот пример: 1. Использование MutationObserver 2. Событие через пользовательское изменение Если текст изменяется через jQuery или JavaScript (например, с помощью .text() или .html()),…
Подробнее