简体   繁体   English

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

[英]what is the wrong with this Jquery form validation

I am trying to validate a form element with 3 condition using Jquery. 我正在尝试使用Jquery验证具有3个条件的表单元素。

This is my Code - 这是我的代码-

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;   
}

If the name field is empty it should be display 'Please enter your name'. 如果名称字段为空,则应显示“请输入您的姓名”。

If the field is not empty and its length is < 3 or > 60 it should be display 'Length of Your Name must be between 3 and 60'. 如果该字段不为空,并且长度小于3或大于60,则应显示“您的姓名长度必须介于3到60之间”。

Finally It should be check user name is valid or not. 最后应该检查用户名是否有效。 If it is not valid 'please enter valid name' should be display. 如果无效,则应显示“请输入有效名称”。

My problem is when I am entering valid user name its always going to this message - 'Please enter valid name.' 我的问题是,当我输入有效的用户名时,它总是显示以下消息-“请输入有效的名称”。

Can anyone tell where is wrong I have gone? 谁能说出我哪里错了?

NOTE : my name can have only uppercase letters and lowercase letters. 注意:我的名字只能有大写字母和小写字母。

FIDDLE 小提琴

Any ideas are greatly appreciated. 任何想法都将不胜感激。 Thank you. 谢谢。

it looks fine to me exception for a unwanted ! 对我来说看起来很好,一个不需要的异常! in

        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;
        }

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM