分享一篇最近新寫的jquery註冊頁面表單校驗的程式,僅供參考

来源:https://www.cnblogs.com/ncl-960301-success/archive/2019/05/07/10827824.html
-Advertisement-
Play Games

頁面效果: 只是測試了一部分功能,因篇幅有限,不能測試全面,有什麼問題,歡迎留言一起學習! 裡面的正則表達式,參考小編的前幾篇文章,有資源連接的 ...


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>英雄聯盟成員註冊</title>
        <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">  
        <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
        <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
        <style type="text/css">
            table{color:red}
            caption{font-size: 25px;font-family: "微軟雅黑";color: forestgreen;}
            *{font-family: "微軟雅黑";}
        </style>
        <script type="text/javascript">
            /*全局變數及初始化頁面狀態*/
            //獲取驗證碼
            function getCode(){
                varRand = parseInt(Math.random()*9000+1000);//生成隨機數
                $("#spanCodeId").html(varRand);//將生成的隨機數賦值到span標簽中
            }
            //聲明驗證碼變數
            var varRand = 0;
            //聲明密碼變數
            var varPwd;
            $(function(){
                getCode();
            })
            //校驗驗證碼
            function codeTest(){
                var varCode = $("#codeId").val();//獲取驗證碼文本框的內容
                if(varCode == 0){
                    //如果沒有內容,提示輸入驗證碼
                    $("#spanCodeId2").html("驗證碼不能為空!");
                    return false;
                }else if(varCode == varRand){
                    //如果驗證輸入正確,提示成功
                    $("#spanCodeId2").html("<span style='color: green;font-size: 13px;'>√</span>");
                    return true;
                }else{
                    //否則提示驗證碼輸入錯誤
                    $("#spanCodeId2").html("驗證碼輸入錯誤!");
                    return false;
                }
            }
            //用戶名校驗
            function unameTest(){
                //獲取用戶名
                var varUname = $("#unameid").val();
                //聲明正則表達式,表示用戶名規則:
                var varReg = /^[\u4e00-\u9fa5]{1,6}$/;
                if(varUname.length == 0){
                    //如果沒有內容,提示輸入用戶名
                    $("#spanUnameId").html("英雄昵稱不能為空!");
                    return false;
                }else if(varReg.test(varUname)){
                    $("#spanUnameId").html("<span style='color: green;font-size: 14px;'>√</span>");
                    return true;
                }else{
                    $("#spanUnameId").html("英雄昵稱必須為1-6個漢字");
                    return false;
                }
            }
            //真實姓名校驗
            function realNameTest(){
                //獲取用戶名
                var varRealName = $("#realNameid").val();
                //聲明正則表達式,表示用戶名規則:1-6個漢字
                var varReg = /^[\u4e00-\u9fa5]{1,6}$/;
                if(varRealName.length == 0){
                    //如果沒有內容,提示輸入用戶名
                    $("#spanRealNameId").html("真實姓名不能為空!");
                    return false;
                }else if(varReg.test(varRealName)){
                    $("#spanRealNameId").html("<span style='color: green;font-size: 14px;'>√</span>");
                    return true;
                }else{
                    $("#spanRealNameId").html("真實姓名必須為1-6個漢字");
                    return false;
                }
            }
            //密碼校驗
            function pwdTest(){
                //獲取密碼
                varPwd = $("#pwdId").val();
                //聲明正則表達式,表示用戶名規則:數字和字母,不少於4個
                var varReg = /^[A-Za-z0-9]{4,40}$/;
                if(varPwd.length == 0){
                    //如果沒有內容,提示輸入密碼
                    $("#spanPwdId").html("密碼不能為空!");
                    return false;
                }else if(varReg.test(varPwd)){
                    $("#spanPwdId").html("<span style='color: green;font-size: 14px;'>√</span>");
                    return true&&pwdTest2();
                }else{
                    $("#spanPwdId").html("密碼必須為4-40個數字和字母的組合");
                    return false;
                }
            }
            //確認密碼校驗
            function pwdTest2(){
                //獲取確認密碼
                var varPwd2 = $("#pwdId2").val();
                if(varPwd2.length == 0){
                    //如果沒有內容,提示輸入密碼
                    $("#spanPwdId2").html("密碼不能為空!");
                    return false;
                }else if(varPwd2 === varPwd){
                    $("#spanPwdId2").html("<span style='color: green;font-size: 14px;'>√</span>");
                    return true;
                }else{
                    $("#spanPwdId2").html("密碼輸入錯誤");
                    return false;
                }
            }
            //個人介紹校驗
            function myselfTest(){
                //獲取個人介紹內容
                var varMyself = $("#myselfId").val();
                //聲明正則表達式,表示用戶名規則:所有字元,至少10個
                var varReg = /^.{10,160}$/;
                if(varMyself.length == 0){
                    //如果沒有內容,提示不能為空
                    $("#spanMyselfId").html("個人介紹不能為空!");
                    return false;
                }else if(varReg.test(varMyself)){
                    $("#spanMyselfId").html("<span style='color: green;font-size: 14px;'>√</span>");
                    return true;
                }else{
                    $("#spanMyselfId").html("個人介紹的字元必須在10到160個字元!");
                    return false;
                }
            }

            //籍貫校驗
            function stateTest(){
                //獲取下拉框內容
                var varState = $("#stateId").val();
                if(varState == 0){
                    //如果沒有內容,提示籍貫不能為空
                    $("#spanStateId").html("籍貫不能為空!");
                    return false;
                }else {
                    $("#spanStateId").html("<span style='color: green;font-size: 14px;'>√</span>");
                    return true;
                }
            }
            //英雄定位校驗
            function favtest(){
                var varfav = $("input[name=fav]");
                for(var i = 0;i<varfav.length;i++){
                    if(varfav[i].checked){
                        $("#spanFavId").html("<span style='color: green;font-size: 14px;'>√</span>");
                        return true;//結束程式
                    }
                }
                $("#spanFavId").html("英雄定位至少選擇一樣!");
                return false;
            }            
            //將同意協議事件和註冊事件進行綁定
//            $(function(){
//                    $("#checkId").on("click",function(){
//                        $("#subId").attr("disabled",false);
//                    });
//                });
            function checkTest(){
                $("#subId").prop("disabled",!$("#checkId").prop("checked"));
            }
            //提交和重置校驗
            function isreset(){
                var varbool = window.confirm("是否確定要重置信息?");
                return varbool;
            }
            function issubmit(){
                var varbool = codeTest()&&unameTest()&&realNameTest()&&pwdTest()&&pwdTest2()&&myselfTest()&&stateTest();
                return varbool;
            }
        </script>
    </head>
    <body style="background-color: antiquewhite;">
        <form action="#" onsubmit="return issubmit()" onreset="return isreset()"> 
        <table class="table table-hover" style="width: 580px;" align="center">
        <caption>歡迎註冊英雄聯盟</caption>
        <tbody>
                <tr>
                        <td width="100px">英雄昵稱:</td>
                        <td>
                            <input type="text" name="uname" id="unameid" placeholder="請輸入英雄昵稱!" value="" onblur="unameTest()"/>
                            <span id="spanUnameId"></span>
                        </td>
                </tr>
                <tr>
                        <td>真實姓名:</td>
                        <td>
                            <input type="text" name="realName" id="realNameid" placeholder="請輸入真實姓名!" value="" onblur="realNameTest()"/>
                            <span id="spanRealNameId"></span>
                        </td>
                </tr>
                <tr>
                        <td>密碼:</td>
                        <td>
                            <input type="password" name="pwd" id="pwdId" placeholder="請輸入密碼!" value="" onblur="pwdTest()"/>
                            <span id="spanPwdId"></span>
                        </td>
                </tr>
                <tr>
                        <td>確認密碼:</td>
                        <td>
                            <input type="password" name="pwd2" id="pwdId2" placeholder="請確認密碼!" value="" onblur="pwdTest2()"/>
                            <span id="spanPwdId2"></span>
                        </td>
                </tr>
                <tr>
                        <td>性別:</td>
                        <td>
                            <input type="radio" name="sex" value="1" checked="checked"/>男
                            <input type="radio" name="sex" value="0"/>女
                            <span id="spanSexId"></span>
                        </td>
                </tr>
                <tr>
                        <td>籍貫:</td>
                        <td>
                            <select name="state" style="width: 180px;" id="stateId" onblur="stateTest()">
                                <option value="0">--請進行選擇--</option>
                                <option value="1">--艾歐尼亞--</option>
                                <option value="2">--德瑪西亞--</option>
                                <option value="3">--班德爾城--</option>
                                <option value="4">--暗影島--</option>
                                <option value="5">--虛空--</option>
                                <option value="6">--巨神峰--</option>
                            </select>
                            <span id="spanStateId"></span>
                        </td>
                </tr>
                <tr>
                        <td>英雄定位:</td>
                        <td>
                            <input type="checkbox" name="fav" value="a" onclick="favtest()"/>法師
                            <input type="checkbox" name="fav" value="b" onclick="favtest()"/>射手
                            <input type="checkbox" name="fav" value="c" onclick="favtest()"/>刺客
                            <input type="checkbox" name="fav" value="d" onclick="favtest()"/>戰士
                            <input type="checkbox" name="fav" value="d" onclick="favtest()"/>坦克
                            <input type="checkbox" name="fav" value="d" onclick="favtest()"/>輔助
                            <span id="spanFavId"></span>
                        </td>
                </tr>
                 <tr>
                        <td>自我介紹:</td>
                        <td height="130px">
                            <textarea name="myself" id="myselfId" rows="4" cols="40" value="" onblur="myselfTest()"></textarea>
                            <span id="spanMyselfId"></span>
                        </td>
                </tr>
                 <tr>
                        <td>驗證碼:</td>
                        <td>
                            <input type="text" id="codeId" value="" maxlength="4" size="4" value="" onblur="codeTest()"/>
                            <span id="spanCodeId" style="color: green;" onclick="getCode()"></span>
                            <span id="spanCodeId2"></span>
                        </td>
                </tr>
                 <tr>
                        <td colspan="2">
                            <input type="checkbox" id="checkId" onclick="checkTest()"/>您是否同意峽谷生存規則!
                        </td>
                </tr>
                 <tr>
                        <td colspan="2">
                            <input type="submit" id="subId" value="註冊" disabled="true"/>
                            <input type="reset" id="resetId" value="重置"/>
                        </td>
                </tr>
        </tbody>
    </table>
</form>
        

    </body>
</html>

頁面效果:

只是測試了一部分功能,因篇幅有限,不能測試全面,有什麼問題,歡迎留言一起學習!

裡面的正則表達式,參考小編的前幾篇文章,有資源連接的


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 首先我們來看看仿寫之後的效果: 看到是這個界面我們首先應該思考這些按鈕是怎麼做出來的?有了一個整體的思路之後才知道該怎麼辦。最開始我想的就直接利用button控制項上面直接加上png的圖片就可以形成一個按鈕了,但當我加入圖片之後,發現因為圖片太大導致一個按鈕都會占據一個屏幕一半的空間,實在是得不償失, ...
  • MT6763)具有集成的藍牙、fm、wlan和gps模塊,是一個高度集成的基帶平臺,包括數據機和應用處理子系統,啟用LTE/LTE-A和C2K智能手機應用程式。該晶元集成了ARM Cortex-A53,工作頻率可達2.0GHz,並集成了功能強大的多標準視頻編解碼器。此外,一組廣泛的介面D連接外圍 ...
  • 昨天:android studio安裝好後,在網上學習了一些基礎知識,來豐富自己對android開發的經驗,因為自己在安卓開發這一塊完全就是小白,所以基礎很重要。 看看成果吧: 遇到的問題: 1.在運行時,一個為R的文件經常性報錯,通過ctrl定位發現R為layout文件中所有的綜合,它包含所有文件 ...
  • 發現 jqGrid TreeGrid 載入的數據必須要排序 給了兩種平滑數據模式盡然不內部遞歸 所以改了下源碼加了個數據二次過濾器擴展 數據本該是這樣的 結果沒排序成這樣了 (而且還得是從根節點到子節點整體排序) 1. loadFilters: 數據過濾器擴展 (順帶把ParentId為非字元串類型 ...
  • 雙向數據綁定: 所謂雙向數據綁定是指View(視圖)與Model(模型)之間的綁定:View<=>Model。 View的改變: 通過界面交互使視圖發生改變,如Input框的輸入,Select元素的選擇,scrollBar滾動,瀏覽器視窗大小改變等等。 Model的改變: 如在Ajax, promi ...
  • 首先,我們要瞭解Node.js不是一種語言,它只是一個除了瀏覽器之外的,可以運行js的環境。 其次,Node能做些什麼 ? web伺服器、 命令行工具、 網路爬蟲、 桌面應用程式開發等 3.接下來使用Node.js創建簡單的伺服器 第一種寫法: 第二種寫法: 個人推薦:第二種寫法,可以很好的瞭解。 ...
  • 註意點: position屬性 定義建議元素佈局所用的定位機制 {position:static/absolute/relative/fixed;} static:預設值,沒有定位 absolute:絕對定位元素,相對於static定位以外的第一個父元素進行定位。可以通過left、top、right ...
  • 說起迭代器, 那就要先瞭解迭代模式 迭代模式: 提供一種方法可以順序獲得聚合對象中的各個元素, 是一種最簡單, 也是最常見的設計模式,它可以讓用戶通過特定的介面尋訪集合中的每一個元素 而不用瞭解底層的實現。 迭代器 : 依照迭代模式的思想而實現, 分為內部迭代器和外部迭代器, 內部迭代器: 本身是函 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...