分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

js经典校验之注册与登录校验

发布时间:2023-09-06 01:44责任编辑:白小东关键词:js

平时都专注于后台功能的实现和逻辑需求的分析及数据库方面的设计,很少关注前端的设计,而项目开发过程中专门负责后台是不太可能的事,所以前端我们也需要会用,除了漂亮的首页等其他的交给美工来做,一些功能性的东西还是有负责模块开发的人来完成,所以除了后台、数据库外,前端也需要开发人员懂其一二。

例子1

用户注册校验

用户注册jsp页面

[html]view plaincopy
  1. <%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
  2. <%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%>
  3. <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
  4. <html>
  5. <head>
  6. <title>注册页面</title>
  7. <metahttp-equiv="pragma"content="no-cache">
  8. <metahttp-equiv="cache-control"content="no-cache">
  9. <metahttp-equiv="expires"content="0">
  10. <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
  11. <metahttp-equiv="description"content="Thisismypage">
  12. <linkrel="stylesheet"type="text/css"href="<c:urlvalue=‘/jsps/css/user/regist.css‘/>">
  13. <scripttype="text/javascript"src="<c:urlvalue=‘/jquery/jquery-1.5.1.js‘/>"></script>
  14. <scripttype="text/javascript"src="<c:urlvalue=‘/jsps/js/user/regist.js‘/>"></script>
  15. </head>
  16. <body>
  17. <div>
  18. <div>
  19. <span>新用户注册</span>
  20. </div>
  21. <div>
  22. <formaction="<c:urlvalue=‘/UserServlet‘/>"method="post">
  23. <inputtype="hidden"name="method"value="regist"/>
  24. <table>
  25. <tr>
  26. <td>用户名:</td>
  27. <td>
  28. <inputtype="text"name="loginname"value="${form.loginname}"/>
  29. </td>
  30. <td>
  31. <label>${errors.loginname}</label>
  32. </td>
  33. </tr>
  34. <tr>
  35. <td>登录密码:</td>
  36. <td>
  37. <inputtype="password"name="loginpass"value="${form.loginpass}"/>
  38. </td>
  39. <td>
  40. <label>${errors.loginpass}</label>
  41. </td>
  42. </tr>
  43. <tr>
  44. <td>确认密码:</td>
  45. <td>
  46. <inputtype="password"name="reloginpass"value="${form.reloginpass}"/>
  47. </td>
  48. <td>
  49. <label>${errors.reloginpass}</label>
  50. </td>
  51. </tr>
  52. <tr>
  53. <td>Email:</td>
  54. <td>
  55. <inputtype="text"name="email"value="${form.email}"/>
  56. </td>
  57. <td>
  58. <label>${errors.email}</label>
  59. </td>
  60. </tr>
  61. <tr>
  62. <td>验证码:</td>
  63. <td>
  64. <inputtype="text"name="verifyCode"value="${form.verifyCode}"/>
  65. </td>
  66. <td>
  67. <label>${errors.verifyCode}</label>
  68. </td>
  69. </tr>
  70. <tr>
  71. <td></td>
  72. <td>
  73. <div><imgsrc="<c:urlvalue=‘/VerifyCodeServlet‘/>"/></div>
  74. </td>
  75. <td>
  76. <label><ahref="javascript:_hyz()">换一张</a></label>
  77. </td>
  78. </tr>
  79. <tr>
  80. <td></td>
  81. <td>
  82. <inputtype="image"src="<c:urlvalue=‘/images/regist1.jpg‘/>"/>
  83. </td>
  84. <td>
  85. <label></label>
  86. </td>
  87. </tr>
  88. </table>
  89. </form>
  90. </div>
  91. </div>
  92. </body>
  93. </html>


用户注册校验js

[html]view plaincopy
  1. $(function(){
  2. /*
  3. *1.得到所有的错误信息,循环遍历之。调用一个方法来确定是否显示错误信息!
  4. */
  5. $(".errorClass").each(function(){
  6. showError($(this));//遍历每个元素,使用每个元素来调用showError方法
  7. });
  8. /*
  9. *2.切换注册按钮的图片
  10. */
  11. $("#submitBtn").hover(
  12. function(){
  13. $("#submitBtn").attr("src","/goods/images/regist2.jpg");
  14. },
  15. function(){
  16. $("#submitBtn").attr("src","/goods/images/regist1.jpg");
  17. }
  18. );
  19. /*
  20. *3.输入框得到焦点隐藏错误信息
  21. */
  22. $(".inputClass").focus(function(){
  23. varlabelId=$(this).attr("id")+"Error";//通过输入框找到对应的label的id
  24. $("#"+labelId).text("");//把label的内容清空!
  25. showError($("#"+labelId));//隐藏没有信息的label
  26. });
  27. /*
  28. *4.输入框失去焦点进行校验
  29. */
  30. $(".inputClass").blur(function(){
  31. varid=$(this).attr("id");//获取当前输入框的id
  32. varfunName="validate"+id.substring(0,1).toUpperCase()+id.substring(1)+"()";//得到对应的校验函数名
  33. eval(funName);//执行函数调用
  34. });
  35. /*
  36. *5.表单提交时进行校验
  37. */
  38. $("#registForm").submit(function(){
  39. varbool=true;//表示校验通过
  40. if(!validateLoginname()){
  41. bool=false;
  42. }
  43. if(!validateLoginpass()){
  44. bool=false;
  45. }
  46. if(!validateReloginpass()){
  47. bool=false;
  48. }
  49. if(!validateEmail()){
  50. bool=false;
  51. }
  52. if(!validateVerifyCode()){
  53. bool=false;
  54. }
  55. returnbool;
  56. });
  57. });
  58. /*
  59. *登录名校验方法
  60. */
  61. functionvalidateLoginname(){
  62. var;
  63. varvalue=$("#"+id).val();//获取输入框内容
  64. /*
  65. *1.非空校验
  66. */
  67. if(!value){
  68. /*
  69. *获取对应的label
  70. *添加错误信息
  71. *显示label
  72. */
  73. $("#"+id+"Error").text("用户名不能为空!");
  74. showError($("#"+id+"Error"));
  75. returnfalse;
  76. }
  77. /*
  78. *2.长度校验
  79. */
  80. if(value.length<3||value.length>20){
  81. /*
  82. *获取对应的label
  83. *添加错误信息
  84. *显示label
  85. */
  86. $("#"+id+"Error").text("用户名长度必须在3~20之间!");
  87. showError($("#"+id+"Error"));
  88. false;
  89. }
  90. /*
  91. *3.是否注册校验
  92. */
  93. $.ajax({
  94. url:"/goods/UserServlet",//要请求的servlet
  95. data:{method:"ajaxValidateLoginname",loginname:value},//给服务器的参数
  96. type:"POST",
  97. dataType:"json",
  98. async:false,//是否异步请求,如果是异步,那么不会等服务器返回,我们这个函数就向下运行了。
  99. cache:false,
  100. success:function(result){
  101. if(!result){//如果校验失败
  102. $("#"+id+"Error").text("用户名已被注册!");
  103. showError($("#"+id+"Error"));
  104. returnfalse;
  105. }
  106. }
  107. });
  108. returntrue;
  109. }
  110. /*
  111. *登录密码校验方法
  112. */
  113. functionvalidateLoginpass(){
  114. var;
  115. varvalue=$("#"+id).val();//获取输入框内容
  116. /*
  117. *1.非空校验
  118. */
  119. if(!value){
  120. /*
  121. *获取对应的label
  122. *添加错误信息
  123. *显示label
  124. */
  125. $("#"+id+"Error").text("密码不能为空!");
  126. showError($("#"+id+"Error"));
  127. returnfalse;
  128. }
  129. /*
  130. *2.长度校验
  131. */
  132. if(value.length<3||value.length>20){
  133. /*
  134. *获取对应的label
  135. *添加错误信息
  136. *显示label
  137. */
  138. $("#"+id+"Error").text("密码长度必须在3~20之间!");
  139. showError($("#"+id+"Error"));
  140. false;
  141. }
  142. returntrue;
  143. }
  144. /*
  145. *确认密码校验方法
  146. */
  147. functionvalidateReloginpass(){
  148. var;
  149. varvalue=$("#"+id).val();//获取输入框内容
  150. /*
  151. *1.非空校验
  152. */
  153. if(!value){
  154. /*
  155. *获取对应的label
  156. *添加错误信息
  157. *显示label
  158. */
  159. $("#"+id+"Error").text("确认密码不能为空!");
  160. showError($("#"+id+"Error"));
  161. returnfalse;
  162. }
  163. /*
  164. *2.两次输入是否一致校验
  165. */
  166. if(value!=$("#loginpass").val()){
  167. /*
  168. *获取对应的label
  169. *添加错误信息
  170. *显示label
  171. */
  172. $("#"+id+"Error").text("两次输入不一致!");
  173. showError($("#"+id+"Error"));
  174. false;
  175. }
  176. returntrue;
  177. }
  178. /*
  179. *Email校验方法
  180. */
  181. functionvalidateEmail(){
  182. var;
  183. varvalue=$("#"+id).val();//获取输入框内容
  184. /*
  185. *1.非空校验
  186. */
  187. if(!value){
  188. /*
  189. *获取对应的label
  190. *添加错误信息
  191. *显示label
  192. */
  193. $("#"+id+"Error").text("Email不能为空!");
  194. showError($("#"+id+"Error"));
  195. returnfalse;
  196. }
  197. /*
  198. *2.Email格式校验
  199. */
  200. if(!/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(value)){
  201. /*
  202. *获取对应的label
  203. *添加错误信息
  204. *显示label
  205. */
  206. $("#"+id+"Error").text("错误的Email格式!");
  207. showError($("#"+id+"Error"));
  208. false;
  209. }
  210. /*
  211. *3.是否注册校验
  212. */
  213. $.ajax({
  214. url:"/goods/UserServlet",//要请求的servlet
  215. data:{method:"ajaxValidateEmail",email:value},//给服务器的参数
  216. type:"POST",
  217. dataType:"json",
  218. async:false,//是否异步请求,如果是异步,那么不会等服务器返回,我们这个函数就向下运行了。
  219. cache:false,
  220. success:function(result){
  221. if(!result){//如果校验失败
  222. $("#"+id+"Error").text("Email已被注册!");
  223. showError($("#"+id+"Error"));
  224. returnfalse;
  225. }
  226. }
  227. });
  228. returntrue;
  229. }
  230. /*
  231. *验证码校验方法
  232. */
  233. functionvalidateVerifyCode(){
  234. var;
  235. varvalue=$("#"+id).val();//获取输入框内容
  236. /*
  237. *1.非空校验
  238. */
  239. if(!value){
  240. /*
  241. *获取对应的label
  242. *添加错误信息
  243. *显示label
  244. */
  245. $("#"+id+"Error").text("验证码不能为空!");
  246. showError($("#"+id+"Error"));
  247. returnfalse;
  248. }
  249. /*
  250. *2.长度校验
  251. */
我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved