使用jQuery实现表单验证,供大家参考,具体内容如下
register.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 | <!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < title >注册</ title > <!--导入jQuery--> < script src = "js/jquery-3.3.1.js" ></ script > <!--进行表单校验--> < script > /* 表单校验: 1.用户名:单词字符,长度8到20位 2.密码:单词字符,长度8到20位 3.email:邮件格式 4.姓名:非空 5.手机号:手机号格式 6.出生日期:非空 */ // 校验用户名 // 单词字符,长度8到20位 function checkUsername() { // 1.获取用户名值 var username = $("#username").val(); // 2.定义校验正则 var reg_username = /^\w{8,20}$/; // 3.判断是否满足校验要求,并给出提示信息 var flag = reg_username.test(username); if (flag) { // 用户名合法 $("#username").css("border", ""); } else { // 用户名非法,加一个红色边框 $("#username").css("border", "1px solid red"); } // 4.返回是否通过校验 return flag; } // 校验密码 function checkPassword() { //1.获取密码值 var password = $("#password").val(); //2.定义正则 var reg_password = /^\w{8,20}$/; //3.判断,给出提示信息 var flag = reg_password.test(password); if (flag) { //密码合法 $("#password").css("border", ""); } else { //密码非法,加一个红色边框 $("#password").css("border", "1px solid red"); } // 4.返回校验是否通过 return flag; } // 校验邮箱 function checkEmail() { //1.获取邮箱 var email = $("#email").val(); //2.定义正则 itcast@163.com var reg_email = /^\w+@\w+\.\w+$/; //3.判断 var flag = reg_email.test(email); if (flag) { $("#email").css("border", ""); } else { $("#email").css("border", "1px solid red"); } // 4.返回校验是否通过 return flag; } // 校验姓名 function checkName() { // 1.获取姓名 var name = $("#name").val(); // 2.判断非空并返回校验是否通过 if (typeof name == "undefined" || name == null || name == "") { $("#name").css("border", "1px solid red"); return false; } else { $("#name").css("border", ""); return true; } } // 校验手机号 function checkTelephone() { // 1.获取手机号 var telephone = $("#telephone").val(); // 2.定义正则 var reg_tel = /^1(3|4|5|6|7|8|9)\d{9}$/; // 3.判断 var flag = reg_tel.test(telephone); if (flag) { $("#telephone").css("border", ""); } else { $("#telephone").css("border", "1px solid red"); } // 4.返回校验是否通过 return flag; } // 校验出生日期 function checkBirthday() { // 1.获取出生日期 var birthday = $("#birthday").val(); // 2.判断非空并返回校验是否通过 if (typeof birthday == "undefined" || birthday == null || birthday == "") { $("#name").css("border", "1px solid red"); return false; } else { $("#name").css("border", ""); return true; } } // 进行校验 $(function () { //当表单提交时,调用所有的校验方法 $("#registerForm").submit(function () { // 如果这个方法没有返回值,或者返回为true,则表单提交,如果返回为false,则表单不提交 // 1.发送数据到服务器 if (checkUsername() && checkPassword() && checkEmail() && checkName() && checkTelephone() && checkBirthday()) { // 校验通过,发送ajax请求,提交表单的数据 username=zhangsan&password=123 $.post("registerServlet", $(this).serialize(), function (data) { if (data.flag) { // 注册成功,跳转到成功页面 alert("注册成功!"); } else { //注册失败,给errorMsg添加提示信息 $("#errorMsg").html(data.errorMsg); } }); } //2.不让页面跳转 return false; }); //当某一个组件失去焦点是,调用对应的校验方法 $("#username").blur(checkUsername); $("#password").blur(checkPassword); $("#email").blur(checkEmail); $("#name").blur(checkName); $("#telephone").blur(checkTelephone); $("#birthday").blur(checkBirthday); }) </ script > </ head > < body > < div > < p >用户注册</ p > <!--注册表单--> < div id = "errorMsg" style = "color:red;text-align: center" ></ div > < form id = "registerForm" action = "registerServlet" method = "post" > < table style = "margin-top: 25px;" > < tr > < td class = "td_left" > < label for = "username" >用户名</ label > </ td > < td class = "td_right" > < input type = "text" id = "username" name = "username" placeholder = "请输入账号" > </ td > </ tr > < tr > < td class = "td_left" > < label for = "password" >密码</ label > </ td > < td class = "td_right" > < input type = "text" id = "password" name = "password" placeholder = "请输入密码" > </ td > </ tr > < tr > < td class = "td_left" > < label for = "email" >Email</ label > </ td > < td class = "td_right" > < input type = "text" id = "email" name = "email" placeholder = "请输入Email" > </ td > </ tr > < tr > < td class = "td_left" > < label for = "name" >姓名</ label > </ td > < td class = "td_right" > < input type = "text" id = "name" name = "name" placeholder = "请输入真实姓名" > </ td > </ tr > < tr > < td class = "td_left" > < label for = "telephone" >手机号</ label > </ td > < td class = "td_right" > < input type = "text" id = "telephone" name = "telephone" placeholder = "请输入您的手机号" > </ td > </ tr > < tr > < td class = "td_left" > < label for = "sex" >性别</ label > </ td > < td class = "td_right gender" > < input type = "radio" id = "sex" name = "sex" value = "男" checked> 男 < input type = "radio" name = "sex" value = "女" > 女 </ td > </ tr > < tr > < td class = "td_left" > < label for = "birthday" >出生日期</ label > </ td > < td class = "td_right" > < input type = "date" id = "birthday" name = "birthday" placeholder = "年/月/日" > </ td > </ tr > < tr > < td class = "td_left" > </ td > < td class = "td_right check" > < input type = "submit" class = "submit" value = "注册" > < span id = "msg" style = "color: red;" ></ span > </ td > </ tr > </ table > </ form > </ div > </ body > < script > </ script > </ html > |
后台处理代码也可以不看,只是前后端进行交互需要,RegisterServlet.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | package com.demo.servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Iterator; import java.util.Map; import java.util.Set; @WebServlet ( "/registerServlet" ) public class RegisterServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Map<String, String[]> parameterMap = req.getParameterMap(); Set<String> keySet = parameterMap.keySet(); Iterator<String> iterator = keySet.iterator(); while (iterator.hasNext()) { String key = iterator.next(); System.out.println(key + ":" + parameterMap.get(key)[ 0 ]); } // String str="{flag:true,errorMsg:'注册失败'}";// 错误范例 String str= "{\"flag\":\"true\",\"errorMsg\":\"注册失败\"}" ; resp.setContentType( "application/json;charset=utf-8" ); resp.getWriter().print(str); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this .doGet(req, resp); } } |
效果:
本节代码地址:Demo
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/215102/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)