jQuery表单验证-只允许字母-也不允许空格



我一直在为这个绞尽脑汁。我没有使用过jQuery Validate,我为一个应用程序表单编写了自己的验证脚本。唯一的问题是,我表单中的所有内容都能很好地验证,除了名字和姓氏字段,它允许使用空格而不是字母(我不想要),我只希望它接受字母,不接受空格或数字。

唯一的问题是,我不能让它那样做。它知道,如果在名字和姓氏字段中没有插入任何内容,那么它将不会验证,并且您无法继续到表单的第二页,除非这两个字段中确实有内容。

遗憾的是,你可以在这两个领域都放一个空间,它会接受的。。不好。。此外,你可以使用数字,也不好。

我只想在这两个领域都允许写信,并尝试了一些事情,但都无济于事。

以下是对这两个字段进行验证的代码:

if(firstname!="" && firstname.match(/^[a-zA-Z_]$/))  {
            $("#FirstName").parent("label").css('color','#444');
        }else {
            $(".errors").append("<br/>Please enter your First Name").show();
            $("#FirstName").parent("label").css('color','#FF0000');
        }
        if(surname!="" && surname.match(/^[a-zA-Z_]$/))  {
            $("#Surname").parent("label").css('color','#444');
        }else {
            $(".errors").append("<br/>Please enter your Last Name").show();
            $("#Surname").parent("label").css('color','#FF0000');
        }

您可以通过这种方式进行检查。

if(firstname!="" && (firstname.match(/^[a-zA-Z]$/) !== null))  {
            $("#FirstName").parent("label").css('color','#444');
        }else {
            $(".errors").append("<br/>Please enter your First Name").show();
            $("#FirstName").parent("label").css('color','#FF0000');
        }
        if(surname!="" && (surname.match(/^[a-zA-Z]$/) !== null))  {
            $("#Surname").parent("label").css('color','#444');
        }else {
            $(".errors").append("<br/>Please enter your Last Name").show();
            $("#Surname").parent("label").css('color','#FF0000');
        }

然而,我建议在姓氏中一般留出空格,因为不同的人都有"Van Dam"等姓氏。

编辑

我从Regex中删除了下划线,以禁止使用下划线,因为您只希望使用字母。

最新更新