老师,这个地方我用jquery validate验证的时候,确认密码的文本框不能进行验证
<!DOCTYPE html> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>注册界面</title> <% String nameRepeat = request.getParameter("nameRepeat"); %> <script type="text/javascript" src="js/jquery-3.4.1.js"></script> <script type="text/javascript" src="js/jquery.validate.js"></script> <script> //文本框验证代码 $().ready(function () { $("#commentForm").validate({ rules:{ username:{ required:true, checkUserName:true }, password:{ required:true, checkPassWord:true }, confirm_password:{ required:true, equalTo:"#password" }, phone:{ required:true, checkPhone:true }, email:{ required:true } }, messages:{ username:{ required:"请输入用户名!" }, password:{ required:"请输入密码!" }, confirm_password:{ required:"请再次输入密码!", equalTo:"两次密码输入不一致!" }, phone:{ required:"请输入手机号!" }, email:"请输入一个正确的邮箱!" } }) }); //正则表达式验证代码 //用户名验证 $.validator.addMethod("checkUserName",function (value,element,params) { var checkUserName = /^\w{3,13}$/g; return this.optional(element)||(checkUserName.test(value)); },"请输入正确的用户名!"); //密码验证 $.validator.addMethod("checkPassWord",function (value,element,params) { var checkPassWord = /^[0-9]{6,12}$/; return this.optional(element)||(checkPassWord.test(value)); },"请输入正确的密码!"); //手机号验证 $.validator.addMethod("checkPhone",function (value,element,params) { var checkUserName = /^[1][3578][0-9]{9}$/; return this.optional(element)||(checkUserName.test(value)); },"请输入正确的手机号码!"); var nameRepeat = "<%=nameRepeat%>"; if(nameRepeat === "1"){ alert("您输入的用户名已经被注册,请重新输入!"); } </script> <style> .error{ color: red; } </style> </head> <body> <center> <h1>用户注册</h1> <form action="/BookSystem/RegistServlet" method="post" id="commentForm"> <table width="600px" cellspacing="0px" cellpadding="0px" border="1px"> <tr> <td>用户名</td> <td><input type="text" name="username" placeholder="用户名为3-12位字母数字或下划线组合" id="username" style="width: 300px;" ></td> </tr> <tr> <td>密 码</td> <td><input type="password" name="password" placeholder="密码长度为6-12位的纯数字" id="password" style="width: 300px;" ></td> </tr> <tr> <td>确认密码</td> <td><input type="password" name="checkPWD" placeholder="密码长度为6-12位的纯数字" id="confirm_password" style="width: 300px;" ></td> </tr> <tr> <td>手机号码</td> <td><input type="text" name="phone" placeholder="请输入正确的手机号码格式" id="phone" style="width: 300px;"></td> </tr> <tr> <td>邮箱</td> <td><input type="email" name="email" placeholder="请输入正确邮箱格式" id="email" style="width: 300px;"></td> </tr> <tr> <td colspan="2" style="text-align:center"> <input type="submit" value="注册" id="submit"> <input type="reset" value="重置"> </td> </tr> </table> </form> </center> <script type="text/javascript"> var main1 = $("#password"); var main2 = $("#confirm_password"); //给确认密码输入框添加一个失去焦点时的事件:判断密码和确认密码输入框中的字符串是否一致;若不一致,则弹出提示框 main2.blur(function(){ var pw1 = main1.val(); var pw2 = main2.val(); if (pw1 !== pw2){ alert("两次输入的密码不一致,请重新输入!"); } }); </script> </body> </html>
确认密码多输了一位,但是没有验证出来,请问这是怎么回事呢?
0
收起
正在回答
1回答
同学你好!出错的原因是因为jquery validate验证的时候使用的是name,但是同学给确认密码框的name和验证时使用的不一样呢,同学将name改为confirm_password就可以了
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
从网页搭建入门Java Web2018版
- 参与学习 人
- 提交作业 1088 份
- 解答问题 10204 个
如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星