表單郵箱密碼登錄 原生+Jquery實現

文章目錄

    • 效果
    • 代碼
      • 郵箱驗證正則表達式
      • HTML
      • CSS
    • JS

效果

請添加圖片描述

正確密碼為:123456
點擊登錄按鈕校驗。

代碼

表單校驗 - CodeSandbox

郵箱驗證正則表達式

/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/

HTML

<!doctype html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta http-equiv="X-UA-Compatible" content="ie=edge" /><title>HTML + CSS</title><link rel="stylesheet" href="styles.css" /></head><body><div class="emailSign"><div class="emailInput"><input type="text" placeholder="郵箱" maxlength="256" /><p class="emailInvalid inputError">請輸入正確郵箱</p></div><div class="pwdInput"><inputclass="pwdValue"type="password"name=""id=""placeholder="密碼(6-32位)"minlength="6"maxlength="32"/></div><p class="pwdEmpty inputError">請輸入密碼</p><p class="bothError inputError">郵箱或密碼錯誤</p><p class="pwdShort inputError">密碼在6-32位</p><div class="btn">Sign in</div></div><!-- <script  type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"></script> --><scripttype="text/javascript"src="https://s3.pstatp.com/cdn/expire-1-M/jquery/3.3.1/jquery.min.js"></script><script src="./index.js"></script></body>
</html>

CSS

.emailSign {display: flex;flex-direction: column;padding: 16px 20px;
}.emailInput input,
.pwdInput input {box-sizing: border-box;height: 48px;width: 100%;padding: 12px 16px;border-radius: 12px;background: rgba(255, 255, 255, 0.1);
}.emailSign .emailInput {margin-bottom: 32px;
}.emailSign input {color: #333;
}.emailSign .btn {height: 48px;line-height: 48px;text-align: center;margin-top: 36px;font-size: 16px;font-weight: 500;color: #fff;border-radius: 12px;background: #ff2828;opacity: 0.2;
}.inputError {margin-top: 4px;margin-left: 12px;color: #ff2828;font-size: 12px;font-weight: 400;
}

JS

init();// 輸入框填寫則按鈕高亮,否則置灰
$(".pwdValue").change(function () {if (btnStateCheck()) $(".btn").css("opacity", "1");else $(".btn").css("opacity", "0.2");
});$(".emailInput input").change(function () {if (btnStateCheck()) $(".btn").css("opacity", "1");else $(".btn").css("opacity", "0.2");
});// 點擊按鈕
$(".btn").on("click", function (e) {btnClick();
});// 初始化
function init() {emailSuccess();pswClearError();
}// 點擊按鈕
function btnClick() {let flag1 = emailCheck();let flag2 = pswCheck();if (flag1 && flag2) {emailSuccess();pswClearError();}
}// 輸入框都填寫返回true
function btnStateCheck() {const psw = $(".pwdValue")[0].value;const email = $(".emailInput input")[0].value;if (psw !== "" && email !== "") return true;else return false;
}// 驗證是否是郵箱
function isEmail(str) {var reg =/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/;return reg.test(str);
}// 檢查郵箱是否合法
function emailCheck() {const email = $(".emailInput input")[0].value;let flag = false;if (email === "" || !isEmail(email)) {emailError();} else {emailSuccess();flag = true;}return flag;
}// 郵箱合法與否
function emailError() {$(".emailInput input").css("border", "1px solid #ff2828");$(".emailInvalid").show();
}function emailSuccess() {$(".emailInput input").css("border", "");$(".emailInvalid").hide();
}// 密碼輸入正確
function pswClearError() {$(".pwdEmpty").hide();$(".bothError").hide();$(".pwdShort").hide();$(".emailInput input").css("border", "");$(".pwdInput input").css("border", "");
}// 驗證密碼是否合法
function pswCheck() {const psw = $(".pwdValue")[0].value;if (psw === "") {pswClearError();$(".pwdEmpty").show();$(".pwdInput input").css("border", "1px solid #ff2828");return false;} else if (psw.length < 6) {pswClearError();$(".pwdShort").show();$(".pwdInput input").css("border", "1px solid #ff2828");return false;} else if (psw !== "123456") {// 假設密碼是123456pswClearError();$(".bothError").show();$(".emailInput input").css("border", "1px solid #ff2828");$(".pwdInput input").css("border", "1px solid #ff2828");} else {return true;}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/167340.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167340.shtml
英文地址,請注明出處:http://en.pswp.cn/news/167340.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Excel表中合并兩個Sheet的方法?

按AltF11&#xff0c;調出Visual Basic 界面。 在左側窗口中&#xff0c;右鍵選擇“插入”—“模塊”&#xff1a; 將如下代碼粘貼進去&#xff0c;點擊運行按鈕&#xff0c;完成數據表合并。 Sub MergeAllSheetsInThisWorkbook() On Error Resume Next Application.ScreenU…

JOSEF約瑟 熱過載保護繼電器 JR36-160,整定值100-160A

系列型號 JR36-20 1.0-1.6A熱繼電器 JR36-20 0.25-0.35A熱繼電器 JR36-20 0.32-0.5A熱繼電器 JR36-20 0.45-0.72A熱繼電器 JR36-20 0.68-1.1A熱繼電器 JR36-20 1.5-2.4A熱繼電器 JR36-20 2.2-3.5A熱繼電器 JR36-20 3.2-5A熱繼電器 JR36-20 4.5-7.2A熱繼電器 JR36-20 …

【Python 訓練營】N_1 驗證密碼

N_1 驗證密碼 題目 設計一個用戶密碼驗證程序&#xff0c;要求密碼輸入只有3次機會&#xff0c;且密碼中不能包含”*”字符。 分析 需要考慮3個問題&#xff1a;驗證次數、特殊字符和正誤密碼判斷&#xff1b;驗證次數需要使用循環&#xff0c;3個問題需要用到分支結構&…

客戶案例:保障高校郵件安全,守護教育信息安全堡壘

客戶背景 電子科技大學&#xff08;以下簡稱“電子科大”&#xff09;&#xff0c;位于四川省成都市&#xff0c;是一所歷史悠久、實力雄厚的綜合性工業大學。作為我國重點建設的雙一流高校&#xff0c;電子科大在國內外均享有盛譽&#xff0c;其學科涵蓋了理、工、管、文等多…

7.5 Windows驅動開發:監控Register注冊表回調

在筆者前一篇文章《內核枚舉Registry注冊表回調》中實現了對注冊表的枚舉&#xff0c;本章將實現對注冊表的監控&#xff0c;不同于32位系統在64位系統中&#xff0c;微軟為我們提供了兩個針對注冊表的專用內核監控函數&#xff0c;通過這兩個函數可以在不劫持內核API的前提下實…

數組方法reduce的基礎用法和奇怪的用法

Array.prototype.reduce 是 JavaScript 數組方法之一&#xff0c;用于累積數組的各個值&#xff0c;將其簡化為單個值。下面是一些基礎用法和一些可能被認為奇怪或不太常見的用法&#xff1a; 基礎用法&#xff1a; 數組求和&#xff1a; const numbers [1, 2, 3, 4, 5]; c…

Android runtime層是如何通過縮減代碼來縮減內存的

文章目錄 前言&#xff1a;Android 在設備上改進內存的秘密優化編譯器101代碼大小改進消除寫入障礙隱式暫停檢查合并回調其他優化改進代碼下沉循環優化消除死代碼 – SimplifyAlwaysThrows加載存儲消除 – 使用 try catch 塊加載存儲消除 – 使用釋放/獲取操作新的內聯啟發式不…

遞歸回溯剪枝-子集

LCR 079. 子集 - 力扣&#xff08;LeetCode&#xff09; 方法一 1. 決策樹&#xff1a;對于決策樹&#xff0c;思考的角度不同&#xff0c;畫出的決策樹也會不同&#xff0c;這道題可以從兩個角度來畫決策樹。 2. 考慮全局變量的使用&#xff1a; 使用全局變量 List<List&…

Python 基礎【五】--數據類型-序列【2023.11.24】

1.定義 Python 中的序列是一塊可存放多個值的連續內存空間&#xff0c;所有值按一定順序排列&#xff0c;每個值所在位置都有一個編號&#xff0c;稱其為索引&#xff0c;我們可以通過索引訪問其對應值。 list1 [Google, Runoob, 1997, 2000] list2 [1, 2, 3, 4, 5 ] list3…

馬克思主義基本原理課后題答案

吐血整理馬原word版課后題答案&#xff0c;大家可以自行修改&#xff0c;持續更新中... 【限于篇幅原因&#xff0c;需要的同學可以點贊收藏后&#x1f44d;&#xff0c;掃碼下方的公眾號&#xff0c;回復相應關鍵詞&#xff08;馬原&#xff09;自行領取?~】

【05】ES6:函數的擴展

一、函數參數的默認值 ES6 允許為函數的參數設置默認值&#xff0c;即直接寫在參數定義的后面。 1、基本用法 默認值的生效條件 不傳參數&#xff0c;或者明確的傳遞 undefined 作為參數&#xff0c;只有這兩種情況下&#xff0c;默認值才會生效。 注意&#xff1a;null 就…

react的開發中關于圖片的知識

React是一個流行的JavaScript庫&#xff0c;用于構建用戶界面。在React開發中&#xff0c;圖片是一個非常重要的元素&#xff0c;可以用于美化界面和展示內容。本篇博客將詳細講解React中關于圖片的知識。 1. React中使用圖片 在React中使用圖片非常簡單&#xff0c;只需要使…

【Web題】狼追兔問題

&#x1f49d;&#x1f49d;&#x1f49d;歡迎來到我的博客&#xff0c;很高興能夠在這里和您見面&#xff01;希望您在這里可以感受到一份輕松愉快的氛圍&#xff0c;不僅可以獲得有趣的內容和知識&#xff0c;也可以暢所欲言、分享您的想法和見解。 推薦:kwan 的首頁,持續學…

解決Resolving Android Dependencies問題

無論是谷歌的Admob&#xff0c;還是Unity的Level play&#xff0c; 在windows&#xff08;win10, win11&#xff09;下&#xff0c;都出現了resolving android dependencies 報錯并且卡住的問題&#xff0c;如圖: 主要錯誤&#xff0c;是找不到這個gradlew.bat文件。 在指定位置…

什么是單元測試?

什么是單元測試 單元測試是軟件開發中的一種測試方法&#xff0c;旨在驗證各個軟件組件或模塊的功能正確性。在敏捷開發環境中&#xff0c;單元測試尤為重要&#xff0c;因為它有助于確保代碼的質量和穩定性。下面是一些關于單元測試的關鍵點&#xff1a; 定義&#xff1a;單元…

力扣每日一題-統計和小于目標的下標對數目-2023.11.24

力扣每日一題&#xff1a;統計和小于目標的下標對數目 開篇 今天這道力扣打卡題寫得我好狼狽&#xff0c;一開始思路有點問題&#xff0c;后面就是對自己的代碼到處縫縫補補&#xff0c;最后蒙混過關。只能分享一下大佬的代碼&#xff0c;然后我幫大家分享代碼的思路。 題目鏈…

大模型能否生成搜索引擎的未來?

文&#xff5c;郝 鑫 編&#xff5c;劉雨琦 ChatGPT火爆之前&#xff0c;水面下&#xff0c;也有中國公司也在朝著智能助手的方向努力。夸克便是其中之一。在GPT風靡科技圈后&#xff0c;國內就開始陸續冒出一些大模型廠商。對當時夸克而言&#xff0c;做大模型毋庸置疑&am…

django(千鋒教育)

創建一個django項目 官網下載python最新版本 配置到環境變量中 打開intlij編輯器 創建django項目 安裝django&#xff1a;pip install django 創建django項目: django-admin startproject django01 創建djangoAPP&#xff1a;python manage.py startapp App 啟動&#xff1a…

設置定時自動請求測試_自動定時循環發送http_post請求---postman工作筆記001

其實就是創建接口文件夾的時候,有個monitor collection 用來監聽接口執行情況,這里就可以設置 可以看到多久執行一次對吧,這里可以設置每幾分鐘執行一次,一共執行多少次等等 但是這里要說明一下,如果需要使用monitor功能,必須需要登錄, 所以如果這里點擊monitor collection…

媒體增加日活量的有效策略

隨著數字媒體的蓬勃發展&#xff0c;提高日活量成為媒體平臺追求的重要目標之一。日活量的增加不僅意味著更廣泛的影響力&#xff0c;還能為媒體平臺帶來更多的商業機會。以下是一些有效的策略&#xff0c;可幫助媒體提高日活量&#xff1a; admaoyan貓眼聚合 內容優質化&#…