这个Jquery表单验证有什么问题

时间:2013-08-13 16:40:10

标签: jquery validation

我正在尝试使用Jquery验证具有3个条件的表单元素。

这是我的代码 -

var valid = true,
errorMessage = "";

if ($('#name').val()) {
    if ($('#name').val().length > 60 || $('#name').val().length < 3)  { 
        errorMessage  = "Length of Your Name must be between 3 and 60.\n";
        valid = false;
    } else {
        var rege = /^[a-z]([a-z_])+$/i;
        if(!rege.test(!$('#name').val())){ 
               errorMessage  += "Please enter Valid name.\n";
               valid = false;
        }
    }
} else {
    errorMessage  += "please enter your name \n";
    valid = false;   
}

如果名称字段为空,则应显示&#39;请输入您的姓名&#39;。

如果该字段不为空并且其长度为&lt; 3或&gt; 60它应该显示&#39;你的名字长度必须在3到60之间。

最后应检查用户名是否有效。如果无效,请输入有效名称&#39;应该显示。

我的问题是当我输入有效的用户名时,它始终会显示此消息 - &#39;请输入有效的名称。&#39;

谁能告诉我哪里错了?

注意:我的名字只能包含大写字母和小写字母。

FIDDLE

非常感谢任何想法。 谢谢。

2 个答案:

答案 0 :(得分:1)

对于

中不需要的!的异常,我看起来很好
        var rege = /^[a-z]([a-z\s])+$/i;
        if(!rege.test($('#name').val())){ // ! before $('#name').val() not required
            errorMessage  += "Please enter Valid name.\n";
            valid = false;
        }

答案 1 :(得分:0)

将你的正则表达式改为:

var rege = /^[a-zA-Z]([a-zA-Z])+$/i;