<script>
$(document).ready(function(){
var form = $("#contact_form");
var FName = $("#fname"); //Creates Variables from forms
var FNameInfo = $("#fnameInfo");
var Tele = $("#tele");
var TeleInfo = $("#teleInfo");
var Address = $("#address");
var AddressInfo = $("#addInfo");
var Email = $("#email");
var EmailInfo = $("#EmailInfo");
var regexp = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_.-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9.]+.[a-z]{2,4}$/; //ragex code
FName.blur(validateFName); //blur is a method which attaches a functiom to run when an event occurs
Email.blur(validateEmail);
Tele.blur(validateTele);
Address.blur(validateAddress);
form.submit (
if (validateFName()& validateTele() & validateEmail() & validateAddress() ){ //If it passes all of these then return true
return true;
}else {
return false;
}
});
function validateFName () { //Creates function for Name Validation+
var str = $("#fname").val();
if ( str < 5 || str.indexOf(" ") !== -1 ) { //If name is length is less than 5 and no white spaces
FName.addClass("error"); //Display error
FNameInfo.text("Please Enter Correct Name"); //Changes span name
FNameInfo.addClass("error"); //Same error
FNameInfo.removeClass("Valid");
return false;
}
else {
FName.removeClass("error"); //remove error class
FNameInfo.addClass("Valid")
FNameInfo.text("Thanks Buddy" ); //When user enters correct code this text will appear
FNameInfo.removeClass("error");
return true;
}
}
});
</script>
<div>
<label for ="name">Full Name </label>
<input id = "fname" name = "fname" type = "text"/>
<span id = "fnameInfo" > Whats your full name?</span>
</div>
好的,我希望用户输入正确的全名。它是一个验证测试,因此我需要验证空白区域,但是它确实在某种程度上起作用,例如,如果用户多次进入空间,然后添加一个&#39;。完全停止它会显示错误,但是当我删除它并输入正确的全名时,它仍然只显示错误的方法来纠正错误是通过输入愚蠢的东西,例如&#39; ppppppp&#39;或者&#39; ........&#39;否则当我输入正确的名字时,它仍然显示错误,我知道如何使错误消失?
答案 0 :(得分:1)
对于您的名称验证,您需要使用以下格式的值:first [middle] last [etc]* ...
或者通常只有单词后跟带有单词的空格。在这种情况下,您将需要使用正则表达式来查找该模式。所以你会使用:
/^[a-zA-Z]+( [a-zA-Z]+)+$/
如果您想将此限制为只说3个单词,那么您可以将其限制为/^[a-zA-Z]+( [a-zA-Z]+){1,2}$/
。因此,在您的代码中,str
是您要执行的全名:
// If the string is in the proper format return true, false otherwise.
if(/^[a-zA-Z]+( [a-zA-Z]+)+$/.test(str)) {
...
return true;
} else {
...
return false;
}
请注意,在用户输入其名称后,这不允许使用空格,例如:"Spencer Wieczorek "
将为false。