我一直在为这个绞尽脑汁。我没有使用过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中删除了下划线,以禁止使用下划线,因为您只希望使用字母。