javascript验证不仅适用于字母值

时间:2015-09-27 08:50:24

标签: javascript regex validation

我使用了javascript验证功能来验证它。我用它来查看输入到html文本框的文本是否是字母(不允许使用数字字符)。在onkeyup和onblur期间调用该函数。唯一的问题是即使在验证中输入数值或特殊字符也不起作用。如果我将该字段留空,则它可以工作(显示该字段留空)。这是我的javascript代码:

function isAlphabetic(x,y){
    var exp = /^[a-zA-Z]+$/; 
    var a = document.getElementById(y).value;
    if(a=="" || a== null){
            document.getElementById(x).innerHTML = "You cannot leave this feild empty"; 
                return;
    }
    else if(a!="" && a!= null){
        if(y.match(exp)){
            document.getElementById(x).innerHTML = "";
            return;
        }
        else{
            document.getElementById(x).innerHTML = "Only enter alphabetic characters allowed";
            return;
        }

    }
    else{
        return;
    }

2 个答案:

答案 0 :(得分:2)

如果您使用y作为元素的ID,我想您不应该使用正则表达式进行检查。相反,您应该检查a

if(a.match(exp)) {

答案 1 :(得分:1)

您不再需要JavaScript了。使用输入字段中的pattern attribute,浏览器不会让用户输入任何不匹配的内容,并使用required来阻止提交带有空值的表单。

另外,你真的只想要ASCII字母吗? (允许使用空格吗?非ASCII字母如“é”如何?)