1. 程式人生 > >使用bootstrap用來表單驗證

使用bootstrap用來表單驗證

<%--
  Created by IntelliJ IDEA.
  User: 醜醜
  Date: 2018/11/20
  Time: 10:36
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3個meta標籤*必須*放在最前面,任何其他內容都*必須*跟隨其後! -->
<title>Bootstrap 101 Template</title> <!-- Bootstrap --> <link href="${pageContext.request.contextPath}/static/css/bootstrap.min.css" rel="stylesheet"> <!-- HTML5 shim 和 Respond.js 是為了讓 IE8 支援 HTML5 元素和媒體查詢(media queries)功能 --> <!-- 警告:通過 file:// 協議(就是直接將 html 頁面拖拽到瀏覽器中)訪問頁面時 Respond.js 不起作用 --> <!--[if lt IE 9]>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/html5shiv.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dest/respond.min.js"></script> <![endif]--> </head> <body> <%--class="container-fluid" style="background-color: #4cae4c"--%>
<div class="container"> <div style="width: 600px;height:450px;margin: 0 auto;border: 1px solid #269abc;padding: 30px;" > <form id="addUserForm" action="${pageContext.request.contextPath}/user/insertOne" method="post" role="form" class="form-horizontal"> <div class="col-xs-12" style="text-align: center;color: #2aabd2"> <h1>新增使用者</h1> <br> </div> <div class="form-group"> <div class="col-xs-3"> <label class="control-label">使用者名稱:</label> </div> <div class="col-xs-6"> <input type="text" name="userName" class="form-control"> </div> <div class="col-xs-3"> <span class="help-block"></span> </div> </div> <div class="form-group"> <div class="col-xs-3"> <label class="control-label">電話:</label> </div> <div class="col-xs-6"> <input type="text" name="phone" class="form-control"> </div> <div class="col-xs-3"> <span class="help-block"></span> </div> </div> <div class="form-group"> <div class="col-xs-3"> <label class="control-label">QQ:</label> </div> <div class="col-xs-6"> <input type="text" name="qq" class="form-control" placeholder="請輸入郵箱"> </div> <div class="col-xs-3"> <span class="help-block"></span> </div> </div> <div class="form-group"> <div class="col-xs-3"> <label class="control-label">密碼:</label> </div> <div class="col-xs-6"> <input type="text" name="password" class="form-control"> </div> <div class="col-xs-3"> <span class="help-block"></span> </div> </div> <div class="form-group"> <div class="col-xs-3"> <label class="control-label">部門:</label> </div> <div class="col-xs-6"> <input type="text" name="dept" class="form-control"> </div> <div class="col-xs-3"> <span class="help-block"></span> </div> </div> <div class="col-xs-3 col-xs-offset-9"> <input type="submit" class="btn btn-primary" value="提交"/> </div> </form> <button class="btn btn-success" style="font-size: 60px;color: #F00"> <span class="glyphicon glyphicon-heart"></span> 我愛你 </button> </div> </div> <!-- jQuery (Bootstrap 的所有 JavaScript 外掛都依賴 jQuery,所以必須放在前邊) --> <script src="${pageContext.request.contextPath}/static/js/jquery-3.2.1.js"></script> <!-- 載入 Bootstrap 的所有 JavaScript 外掛。你也可以根據需要只加載單個外掛。 --> <script src="${pageContext.request.contextPath}/static/js/bootstrap.min.js"></script> <script> $(function () { //點選input框想要輸入後 滑鼠再點選其他地方的失焦狀態 $("input[name='userName']").blur(function () { verifyUserName($(this)); }); $("input[name='password']").blur(function () { verifyPassword($(this)); }); $("input[name='qq']").blur(function () { verifyQq($(this)); }); $("input[name='phone']").blur(function () { verifyPhone($(this)); }); //form表單提交觸發的boolean值判斷 $("#addUserForm").submit(function () { var obj = verifyUserName($("input[name='userName']")); var pas = verifyPassword($("input[name='password']")); var qqq = verifyQq($("input[name='qq']")); var pho = verifyPhone($("input[name='phone']")); return obj &&pas &&qqq &&pho; }); }); //手機號碼11位,並進行正則驗證 function verifyPhone(pho) { var phoval=pho.val(); var reg = /^1\d{10}$/; if((!reg.test(phoval))|| phoval == ""||phoval==null){ isError(pho,"手機號格式不正確"); return false; }else{ isOk(pho); return true; } } //郵箱驗證,並進行正則驗證 function verifyQq(qqq) { var qqqval=qqq.val(); //郵箱正則表示式 var reg = new RegExp("^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$"); if(qqqval === ""||!reg.test(qqqval)){ //輸入不能為空 isError(qqq,"郵箱格式不對") return false; }else{ isOk(qqq); return true; } } //密碼必須大於6位 function verifyPassword(pas) { var pasval=pas.val(); if(pasval.length<=6||pasval==null||pasval==""){ isError(pas,"密碼必須大於6位數"); return false; }else{ isOk(pas); return true; } } //使用者名稱不能為空 function verifyUserName(obj) { var objval=obj.val(); if(null==objval||""==objval){ //校驗失敗 isError(obj,"使用者名稱不能為空"); return false; }else{ isOk(obj); return true; } } //失敗 function isError(er,html) { er.parent().parent().addClass("has-error"); er.parent().next().children().html(html); } //成功 function isOk(ok) { ok.parent().parent().removeClass("has-error"); ok.parent().parent().addClass("has-success"); ok.parent().next().children().html(""); } </script> </body> </html>