Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery表单验证-仅允许字母-也不允许空格_Jquery_Regex_Forms_Validation - Fatal编程技术网

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

jQuery表单验证-仅允许字母-也不允许空格,jquery,regex,forms,validation,Jquery,Regex,Forms,Validation,我一直在为这个绞尽脑汁。我没有使用jQueryValidate,我为申请表编写了自己的验证脚本。唯一的问题是,我表单中的所有内容都可以很好地验证,除了firstname和lastname字段之外,它允许使用空格而不是字母(我不希望这样),我只希望它接受字母,不接受空格或数字 唯一的问题是,我不能让它这么做。它知道,如果名字和姓氏字段中没有插入任何内容,那么它将不会验证,并且您无法继续到表单的第二页,除非这两个字段中确实有内容 遗憾的是,您可以在两个字段中都添加一个空格,它会接受这一点。。不好的。

我一直在为这个绞尽脑汁。我没有使用jQueryValidate,我为申请表编写了自己的验证脚本。唯一的问题是,我表单中的所有内容都可以很好地验证,除了firstname和lastname字段之外,它允许使用空格而不是字母(我不希望这样),我只希望它接受字母,不接受空格或数字

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

遗憾的是,您可以在两个字段中都添加一个空格,它会接受这一点。。不好的。。 还有,你可以用数字,也不好

我只希望这两个领域都允许使用字母,并且尝试了一些方法,但都没有效果

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

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_]$/){
$(“#FirstName”).parent(“label”).css('color','#444');
}否则{
$(“.errors”).append(“
请输入您的名字”).show(); $(“#FirstName”).parent(“label”).css('color','#FF0000'); } if(姓氏!=“”&姓氏匹配(/^[a-zA-Z_]$/){ $(“#姓氏”).parent(“label”).css('color','#444'); }否则{ $(“.errors”).append(“
请输入您的姓氏”).show(); $(“#姓氏”).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');
        }
if(firstname!=“和&(firstname.match(/^[a-zA-Z]$/)!==null)){
$(“#FirstName”).parent(“label”).css('color','#444');
}否则{
$(“.errors”).append(“
请输入您的名字”).show(); $(“#FirstName”).parent(“label”).css('color','#FF0000'); } if(姓氏!=“”&(姓氏匹配(/^[a-zA-Z]$/)!==null)){ $(“#姓氏”).parent(“label”).css('color','#444'); }否则{ $(“.errors”).append(“
请输入您的姓氏”).show(); $(“#姓氏”).parent(“label”).css('color','#FF0000'); }
但是,我建议在姓氏/姓氏中一般允许空格,因为不同的人都有诸如“Van Dam”等姓氏

编辑


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

我是否可以阻止人们在表单中添加空格,因为表单仍然会验证并进入下一页,在“名字”和“姓氏”字段中只添加空格。这是我真正的问题,因为我一辈子都不知道如何防止单个空格被确认为名称。另外,非常感谢您的帮助=0)这很奇怪,因为我已经在控制台中测试了上述内容,如果我的姓氏为空格,则不会测试为真。您从何处获取fistname/姓氏值?也许你可以把你的代码放到一个JSFIDLE.net中?这里来看看——如果添加了一个空格,它会标记错误。