0

我正在尝试使用 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;   
}

如果名称字段为空,则应显示“请输入您的姓名”。

如果该字段不为空且长度小于 3 或 > 60,则应显示“您的姓名长度必须介于 3 和 60 之间”。

最后应该检查用户名是否有效。如果无效,则应显示“请输入有效名称”。

我的问题是当我输入有效的用户名时,它总是会出现这条消息 - “请输入有效的名称。”

谁能告诉我哪里错了?

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

小提琴

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

4

2 回答 2

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;
        }
于 2013-08-13T16:45:45.643 回答
0

将您的正则表达式更改为:

var rege = /^[a-zA-Z]([a-zA-Z])+$/i;
于 2013-08-13T16:46:08.010 回答