Что такое «правильный» способ проверки формы с помощью JavaScript? - PullRequest
1 голос
/ 29 июля 2011

Я делаю некоторую проверку формы в проекте с использованием JavaScript.То, что я делаю, работает, но кажется, что может быть лучший способ сделать это.Вот пример того, что у меня есть.

onkeypress="return keyNumOnly(event)"
function keyNumOnly(key)
{//this allows numbers and decimals.   
    var keychar;
    var numcheck;
    var keynum;
    if(window.event) // IE
        {
            keynum = key.keyCode;
        }     
    else if(key.which) // Netscape/Firefox/Opera
        {
            keynum = key.which;
        }
    if (keynum==8)
        {
            return true;
        }
    keychar = String.fromCharCode(keynum);
    numcheck = /\d/;
    if (keychar== ".")
        {
            return true;    
        }
    return numcheck.test(keychar);
}

Ответы [ 3 ]

1 голос
/ 29 июля 2011

Некоторая очистка:

someTextbox.onkeypress = function(event) { // you can pass a function directly
    var event    = event || window.event, 
        // this means: event or window.event if event does not exist

        keynum   = event.keyCode || event.which,
        // event.keyCode or event.which otherwise

        keychar  = String.fromCharCode(keynum),

        numcheck = /\d/;


    if(/\t|\./.test(keychar)) {
        // checking for dot or tab using a regexp: \t is tab, | means 'or', \. is dot
        return true;
    }


    return numcheck.test(keychar);
}
1 голос
/ 29 июля 2011

Я предлагаю использовать предварительно упакованное решение для проверки формы.Например, если вы можете использовать jQuery, плагин jQuery Validation отлично справится с проверкой форм - как с помощью проверки в реальном времени (как вы это делаете), так и с проверкой перед событием 'submit'.

0 голосов
/ 29 июля 2011

Проверка формы (например, по отношению к регулярным выражениям) является частью HTML5 и, следовательно, вскоре может быть выполнена самим браузером.

Погружение в HTML5 объясняет, как

...