任何人都可以帮助我使用REGEX进行firstname
验证。在以下JavaScript代码if value.length==0
中,错误生成了错误。但是,即使在给出正确的名称格式之后,如Regex中的投掷错误,即使是名字无效。我怀疑我的其他障碍,请帮助我
Java脚本代码如下
function validate(){
var valid = true;
var regex="([A-Za-z]{3,30}s*)";
if (document.getElementById('fname').value.length == 0) {
validationMessage = validationMessage + ' - First name is missingrn';
document.getElementById('errorFirstNameMissing').style.visibility='visible';
valid = false;
}
else if(document.getElementById('fname').value!=regex){
validationMessage = validationMessage + ' - First name is not valid can contain
only letters from A-z and a-zrn';
document.getElementById('errorFirstNameInValid').style.visibility='visible';
valid = false;
}
else{
document.getElementById('errorFirstNameMissing').style.visibility='hidden';
document.getElementById('errorFirstNameInValid').style.visibility='hidden';
}
if (valid == false){
alert(validationMessage);
}
return valid;
}
我的JSP是代码如下
<form name="Register" action="RegisterServlet" method="post" onSubmit="return validate()">
<table>
<tr>
<td>First Name* : </td>
<td><input type="text" name="txtFname" id="fname" maxlength="30"/><br/>
<span id="errorFirstNameMissing" style="visibility:hidden;">*Please provide your first
name.</span><br/>
<span id="errorFirstNameInValid" style="visibility:hidden;">*Please provide a valid first
name.</span>
</td>
</tr>
未测试REGEX,您可以使用:
/^([A-Za-z]{3,30}$)/.test(name)
在MDN的Regex对象上读取