jQuery表单验证-仅允许字母-也不允许空格
我一直在为这个绞尽脑汁。我没有使用jQueryValidate,我为申请表编写了自己的验证脚本。唯一的问题是,我表单中的所有内容都可以很好地验证,除了firstname和lastname字段之外,它允许使用空格而不是字母(我不希望这样),我只希望它接受字母,不接受空格或数字 唯一的问题是,我不能让它这么做。它知道,如果名字和姓氏字段中没有插入任何内容,那么它将不会验证,并且您无法继续到表单的第二页,除非这两个字段中确实有内容 遗憾的是,您可以在两个字段中都添加一个空格,它会接受这一点。。不好的。。 还有,你可以用数字,也不好 我只希望这两个领域都允许使用字母,并且尝试了一些方法,但都没有效果 以下是对这两个字段进行验证的代码:jQuery表单验证-仅允许字母-也不允许空格,jquery,regex,forms,validation,Jquery,Regex,Forms,Validation,我一直在为这个绞尽脑汁。我没有使用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中?这里来看看——如果添加了一个空格,它会标记错误。