我正在尝试使用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;
谁能告诉我哪里错了?
注意:我的名字只能包含大写字母和小写字母。
非常感谢任何想法。 谢谢。
答案 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;