Проверка формы в JAvascript с помощью регулярных выражений - PullRequest
0 голосов
/ 05 мая 2010

У меня есть веб-страница с полем ввода, где разрешены только цифры. Поле ввода имеет событие onkeyup, которое запускает эту функцию проверки:

function validate() {
    var uah_amount = document.getElementById("UAH").value;
    var allowed = /^\d+$/;
    document.getElementById("error").innerHTML = document.getElementById("UAH").value;

    if (!allowed.test(uah_amount)) {
        document.getElementById("error").style.backgroundColor = "red";
    }
}

Все работает, как я ожидаю, пока я не нажму кнопку Backspace, чтобы удалить некоторые символы В этом случае функция всегда ведет себя так, как будто я вводил буквы.

Как это исправить?

1 Ответ

0 голосов
/ 11 июня 2010

Функция не возвращает цвет фона, если тест пройден успешно.


function validate() {
    var uah_amount = document.getElementById("UAH").value-0;
    var allowed = /^\d+$/;
    document.getElementById("error").innerHTML = document.getElementById("UAH").value;</p>

if (!allowed.test(uah_amount)) {
    document.getElementById("error").style.backgroundColor = "red";
} else {
   document.getElementById("error").style.backgroundColor = "transparent";
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...