разрешить цифры только для ввода - PullRequest
1 голос
/ 07 апреля 2009

Я пытаюсь реализовать функцию javacript, которая не позволит пользователю вводить что-либо кроме чисел с плавающей точкой (цифр)

Это мой подход, но я не знаю, как его улучшить, чтобы разрешить также вводить отрицательные числа (клавиша allow -) и работать также в IE

function digits_only(evt, form) {
    var evt = evt || window.event,
        targ = evt.target || evt.srcElement,
        charCode = evt.which || evt.keyCode,
        keyChar = String.fromCharCode(charCode),
        isValid = true;
    if (charCode > 13) {
        isValid = /[0-9.]/.test(keyChar);
        //if a dolt is already in input
        if (keyChar === '.' && /\./.test(targ.value)) {
            isValid = false;
        }
    }
    return isValid;
}

Ответы [ 3 ]

3 голосов
/ 07 апреля 2009

Я думаю, что вы ищете так называемые "маски ввода". Они намного мощнее, чем просто цифры. Но вы можете использовать их для этого. Google "маска ввода JavaScript" или проверить этот плагин jQuery .

EDIT: Похоже, что связанный плагин поддерживает только маски фиксированной длины, но этот термин может быть хорошей отправной точкой ...

1 голос
/ 07 апреля 2009

Это в веб-приложении ASP.NET? Вы можете использовать AjaxControlToolkits MaskEditExtender.

0 голосов
/ 07 апреля 2009

Я задаю подобный вопрос здесь:
ограничить ввод пользователя с помощью JavaScript

но никто не дает точного ответа на проблему, поэтому давайте подождем, пока WebForms 2.0 не выпустит

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...