0

我一直在为此绞尽脑汁。我没有使用 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');
        }
4

1 回答 1

1

你可以这样检查。

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”等。

编辑

我从正则表达式中删除了下划线,以禁止下划线,因为您只打算使用字母。

于 2013-08-21T15:03:49.060 回答