javascript - 使用 javascript 进行表单验证的 "right"方法是什么?

标签 javascript forms validation

我正在使用 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);
}

最佳答案

一些清理:

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);
}

关于javascript - 使用 javascript 进行表单验证的 "right"方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6874053/

相关文章:

Javascript接口(interface)/松耦合

forms - 可能有两个输入的 HTML slider ?

forms - 使用 AWS API Gateway 和 Lambda 从 multipart/form-data 获取非文件正文

c# - 创建C#验证类的好方法

javascript - 延迟后运行工作 javascript onload 的最佳方法

javascript - ionic 不显示图像

javascript - 当 jQuery .match() 从列表项返回部分匹配时,如何将结果限制为完全匹配?

php - 通过表单直接上传到 Vimeo

asp.net - MVC3 : different validation for different input scenarios

validation - 如何在 vuetify 中添加密码匹配验证?