【问题标题】:jQuery Form Validation - Only allow letters - Also disallow spacesjQuery 表单验证 - 只允许字母 - 也不允许空格
【发布时间】:2013-08-21 14:59:06
【问题描述】:

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

【问题讨论】:

    标签: jquery regex forms validation


    【解决方案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”等。

    编辑

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

    【讨论】:

    • 无论如何我可以阻止人们只输入一个空格,因为表单仍在验证并转到下一页,在名字和姓氏字段中只有一个空格。这是我真正的问题,因为我一生都无法弄清楚如何防止单个空间被验证为名称。另外,非常感谢您的帮助! =0)
    • 这很奇怪,因为我已经在控制台中测试了上述内容,如果我有一个空格作为姓氏,它就不会测试为真。你从哪里得到你的拳名/姓氏值?也许您可以将代码放入 jsfiddle.net 中?
    • 这里看看这个 - 如果添加空格,它将标记错误。 jsfiddle.net/9VgMN/2
    猜你喜欢
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多