现在我有几下几个问题: 
1,我的用户名,密码,等信息填写的是错误的,依然可以注册成功
2,我的邮箱验证的有问题,不知道是哪里出问题了,其他的信息填写的是错误的,邮箱填写的是错的依然可以注册成功,
3,如何在页面上判断验证码是否正确。?????  在业务逻辑层,我会判断,
在业务落脚处声明一个字段 private String yazheng;
然后在如下判断就ok了,但是我在页面不知道要怎么判断,
if(!this.getSession().getAttribute("rand").equals(this.getYazheng())小弟虚心求教,希望各位高手,帮帮忙,。。//js 验证function xianshi(){

var name = document.getElementById("name").value;
var errorname = document.getElementById("error");

var pwd = document.getElementById("pwd").value;
var kongpwd=document.getElementById("kong");
var error1=document.getElementById("error1");

var pwd1 = document.getElementById("pwd1").value;
var quekong = document.getElementById("quekong");
var error2=document.getElementById("error2"); var mytext1 = document.getElementById("mytext1").value;
var realname=document.getElementById("realname");
var names=document.getElementById("names");

var email = document.getElementById("email").value;
var emkong=document.getElementById("emkong");
var error3=document.getElementById("error3");

/*var yanz= document.getElementById("yanz").value;
var yankong = document.getElementById("yankong");*/

if(name=="" || name==null){
errorname.style.display="block";
return false;
}
if(pwd=="" || pwd==null){
kongpwd.style.display="block";
error1.style.display="none";
return false;
}
if(pwd1=="" || pwd1==null){
quekong.style.display="block";
error2.style.display="none";
return false;
}
if(mytext1=="" || mytext1==null){
realname.style.display="block";
names.style.display="none";
return false;
}
if(email=="" || email==null){
emkong.style.display="block";
error3.style.display="none";
return false;
}
else{
document.queren.submit();
return true;
}}function checkRealyname(){
var mytext1 = document.getElementById("mytext1").value;
var names = document.getElementById("names");
var realname=document.getElementById("realname");

if(mytext1=="" || mytext1==null){
names.style.display="block";
realname.style.display="none";

return false;
}

}function checkNames()
{
var xiao = document.getElementById("xiao");
var zhi = document.getElementById("zhi");
var error = document.getElementById("error");

xiao.style.display="block";
zhi.style.display="none";
error.style.display="none";
kong.style.display="none";

}function checkmima(x,z,e,k){ var xiao = document.getElementById(x);
var zhi = document.getElementById(x);
var error = document.getElementById(e);
var kong = document.getElementById(k);

xiao.style.display="block";
zhi.style.display="none";
error.style.display="none";
kong.style.display="none";

}function checkName(){
var xiao = document.getElementById("xiao");
var zhi = document.getElementById("zhi");
var error = document.getElementById("error");
var name = document.getElementById("name").value;

var cz=document.getElementById("cz");

var namePattern=/^[A-Za-z0-9](\w|\.|-){3,16}[A-Za-z0-9]$/;
if(!namePattern.exec(name)){
error.style.display="block";
xiao.style.display="none";
zhi.style.display="none";

return false;
}
else{
UserAction.selUser(name,function(num){
if(num==1){
cz.style.display="block";
xiao.style.display="none";
zhi.style.display="none";
error.style.display="none";
}
else{
zhi.style.display="block";
xiao.style.display="none";
error.style.display="none";
cz.style.display="none";
}
});
return true;
}
}function checkPassword(){
var xiao = document.getElementById("pwdx");
var zhi = document.getElementById("zhi1");
var error = document.getElementById("error1");
var pwds = document.getElementById("pwd").value;
    var  pwdPattern=/^[a-zA-Z0-9]{6,16}$/;

    if(!pwdPattern.exec(pwds)){
error.style.display="block";
xiao.style.display="none";
zhi.style.display="none";
/*buttons();*/
return false;
}
else{
zhi.style.display="block";
xiao.style.display="none";
error.style.display="none";
return true;
}
}function checkPassword1(){
var zhi = document.getElementById("zhi2");
var error = document.getElementById("error2");
var pwds = document.getElementById("pwd").value;
var pwds1 = document.getElementById("pwd1").value;
var quekong=document.getElementById("quekong");

    var  pwdPattern=/^[a-zA-Z0-9]{6,16}$/;

    if(pwds == pwds1 && pwds1 != null && pwdPattern.exec(pwds1)){
zhi.style.display="block";
error.style.display="none";
quekong.style.display="none";
return true;
}
else{
error.style.display="block";
zhi.style.display="none";
quekong.style.display="none";
return false;
}
}function checkEmail(){
var zhi = document.getElementById("zhi3");
var error = document.getElementById("error3");
var emkong=document.getElementById("emkong");
var emails = document.getElementById("email").value;
var emailPattern=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;

if(!emailPattern.test(emails)){
error.style.display="block";
zhi.style.display="none";
emkong.style.display="none";
//buttons();
return false;
}
else{
alert("222222");
zhi.style.display="block";
error.style.display="none";
emkong.style.display="none";
return true;
}
}
function onloads()
{
var names = document.getElementById("name").value;
var pwds = document.getElementById("pwd").value;
var pwds1 = document.getElementById("pwd1").value;
var emails = document.getElementById("email").value;

if((names==null || names=="") && (pwds=="" || pwds==null) && (pwds1=="" || pwds1==null) && (emails=="" || emails==null))
{
return false;
}

}//页面 <body onload="onloads()">
   <div id="main">
     <form action="userRegister.action" method="post" onsubmit="return onloads();" name="queren">
      <s:token/>
     <table border="1" width="550" height="200" cellpadding="5">
     <tr><th><br>欢迎您注册</th></tr>
    
     <tr id="dui">
     <td>
     <table>
<tr>
<td>
账&nbsp;&nbsp;&nbsp; 号:<input type="text" name="name" id="name" onblur="checkName()" onfocus="checkNames('xiao','zhi','error')"/>
</td>
<td>
<span id="xiao">&nbsp;用户名必须为5-18位,可为数子,字母,下划线</span>
<span id="cz"><img src="imgphoto/error.png">&nbsp;用户已存在</span>
<span id="zhi"><img src="imgphoto/right.png">&nbsp;用户名验证成功</span>
<span id="error"><img src="imgphoto/error.png">&nbsp;用户名不合法</span>
</td>
</tr>
</table>
     </td>
     </tr>
    
     <tr>
     <td>
     <table>
<tr>
<td>
密&nbsp;&nbsp;&nbsp; 码:<input type="password" name="pwd" id="pwd" size="21" onblur="checkPassword()" onfocus="checkmima('pwdx','zhi1','error1','kong')"/>
</td>
<td>
<span id="pwdx">&nbsp;密码必须为6-15位</span>
<span id="zhi1"><img src="imgphoto/right.png">&nbsp;密码验证成功</span>
<span id="error1"><img src="imgphoto/error.png">&nbsp;密码格式不正确</span>
<span id="kong"><img src="imgphoto/error.png">&nbsp;密码不能为空</span>
</td>
</tr>
    </table>
     </td>
     </tr>
    
     <tr>
     <td>
     <table>
<tr>
<td>
确认密码:<input type="password" name="pwd1" id="pwd1" size="21" onblur="checkPassword1()"/>
</td>
<td>
<span id="zhi2"><img src="imgphoto/right.png">&nbsp;确认密码验证成功</span>
<span id="error2"><img src="imgphoto/error.png">&nbsp;两次输入的密码不一致</span>
<span id="quekong"><img src="imgphoto/error.png">&nbsp;确认密码不能为空</span>
</td>
</tr>
</table>
     </td>
     </tr>
    
     <tr>
     <td>
     <table>
<tr>
<td>
真实姓名:<input type="text" name="reallyName" id="mytext1" maxlength=5 onKeyUp="keypress1()" onfocus="checkRealyname()" />
</td>
<td>
<span id="names" style="color:red;font-size:13px;">您还可以输入5个字</span>
<span id="realname"><img src="imgphoto/error.png">&nbsp;真实姓名不能为空</span>
</td>
</tr>
</table>
     </td>
     </tr>
    
     <tr>
     <td>
     <table>
<tr>
<td>
邮&nbsp;&nbsp;&nbsp; 箱:<input type="text" name="email" id="email" onblur="checkEmail()" />
</td>
<td>
<span id="zhi3"><img src="imgphoto/right.png">&nbsp;邮箱验证成功</span>
<span id="error3"><img src="imgphoto/error.png">&nbsp;邮箱的格式不正确</span>
<span id="emkong"><img src="imgphoto/error.png">&nbsp;邮箱不能为空</span>
</td>
</tr>
</table>
     </td>
     </tr>
    
              
     <tr>
     <td>
     <table>
     <tr>
     <td>验证码:<input type="text" name="yazheng" id="yanz" size="12">&nbsp;<img src="rand.jsp" id="ma" />
     <a href="javascript:void(0);"  onclick="change()">看不清 换一张 </a>
        </td>
     <!-- <td><span id="yankong"><img src="imgphoto/error.png">&nbsp;验证码不能为空</span></td> -->
     </tr>
     </table>
</td>
     </tr>
    
     <tr>
     <td>
     <center>
     <input type="button" id="button" value="注册" onclick="xianshi()" />
          <input type="reset" value="重置" />
         </center>
     </td>
     </tr>
     </table>
    
     </form>
   </div>
  </body>
</html>

解决方案 »

  1.   

    emial 判断错了,去网上找正则表达式把,很多。
      

  2.   

    <input type="button" id="button" value="注册" onclick="xianshi()" />
    改成<input type="submit" id="button" value="注册" onclick="if(!xianshi()) return false;" />
      

  3.   

    邮箱验证有问题,var eamil=/^([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;