微信小程序功能 表單密碼強度驗證

一、頁面展示與交互功能

表單提交與驗證(含密碼強度驗證)

實現帶密碼強度驗證的表單提交功能,使用正則表達式檢查密碼復雜度:

<form bindsubmit="submitForm"><input name="username" placeholder="請輸入用戶名" /><input name="password" placeholder="請輸入密碼" type="password" bindinput="checkPasswordStrength" /><!-- 密碼強度提示 --><view class="password-strength">密碼強度:{{passwordStrength}}</view><button form-type="submit">提交</button>
</form>
Page({data: {passwordStrength: '未輸入'},// 實時檢查密碼強度checkPasswordStrength(e) {const password = e.detail.value;let strength = '弱'; // 默認弱// 密碼強度正則規則:// 1. 長度至少8位// 2. 包含數字// 3. 包含小寫字母// 4. 包含大寫字母// 5. 包含特殊字符(!@#$%^&*)const lengthRule = /.{8,}/;const hasNumber = /\d/;const hasLowercase = /[a-z]/;const hasUppercase = /[A-Z]/;const hasSpecial = /[!@#$%^&*]/;// 驗證規則并計算強度等級let score = 0;if (lengthRule.test(password)) score++;if (hasNumber.test(password)) score++;if (hasLowercase.test(password)) score++;if (hasUppercase.test(password)) score++;if (hasSpecial.test(password)) score++;// 根據得分設置強度描述if (password.length === 0) {strength = '未輸入';} else if (score < 2) {strength = '弱(至少8位,包含數字和字母)';} else if (score < 4) {strength = '中(建議增加大小寫字母組合)';} else {strength = '強';}this.setData({ passwordStrength: strength });},submitForm(e) {const formData = e.detail.value;// 用戶名驗證if (!formData.username) {wx.showToast({title: '用戶名不能為空',icon: 'none'});return;}// 密碼驗證if (!formData.password) {wx.showToast({title: '密碼不能為空',icon: 'none'});return;}// 密碼強度最終驗證const strongPasswordRule = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{8,}$/;if (!strongPasswordRule.test(formData.password)) {wx.showToast({title: '密碼需8位以上,包含數字、大小寫字母和特殊字符',icon: 'none'duration: 3000});return;}// 驗證通過,提交表單wx.request({url: 'https://api.example.com/register',method: 'POST',data: formData,success: (res) => {if (res.data.success) {wx.showToast({ title: '注冊成功' });} else {wx.showToast({title: '注冊失敗',icon: 'none'});}}});}
})

密碼強度驗證規則說明:

基礎要求:至少8位長度

中級要求:包含數字、小寫字母、大寫字母中的至少兩種

高級要求:同時包含數字、小寫字母、大寫字母和特殊字符(!@#$%^&*)

實時反饋:隨著用戶輸入實時更新密碼強度提示

提交驗證:最終提交時強制檢查是否符合高級要求

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

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

相關文章

【谷歌 SEO】排查頁面未索引問題:原因與解決方案

你在谷歌網站SEO優化時是否遇到以下情況&#xff1f; 為什么&#xff0c;即使我已經正確地編寫了站點地圖并將其鏈接到客戶的網站&#xff0c;并且我已經檢查了所有內容&#xff0c;但我是否在某些文章&#xff08;不是所有文章&#xff09;上遇到索引問題&#xff0c;即使在向…

Android 系統的基本安全屬性

Android 系統的“基本安全屬性”可概括為 “設備可信、應用隔離、權限最小、數據加密、持續更新” 五大類。下面從 硬件 → 系統 → 應用 → 數據 → 運維 五個層面&#xff0c;用一句話一句話的方式幫你快速掌握&#xff1a;1. 硬件層&#xff1a;信任根&#xff08;Root of T…

【數據結構初階】--棧與隊列(棧)

&#x1f618;個人主頁&#xff1a;Cx330? &#x1f440;個人簡介&#xff1a;一個正在努力奮斗逆天改命的二本覺悟生 &#x1f4d6;個人專欄&#xff1a;《C語言》《LeetCode刷題集》《數據結構-初階》 前言&#xff1a;在之前幾篇博客中&#xff0c;我們學習了順序表和鏈表&…

分布式微服務--GateWay的斷言以及如何自定義一個斷言

&#x1f4cc; 一、什么是 Gateway 的斷言&#xff08;Predicates&#xff09;&#xff1f;Predicates&#xff08;斷言&#xff09; 是 Spring Cloud Gateway 中用于匹配請求的條件。只有請求滿足斷言條件&#xff0c;路由才會生效&#xff0c;轉發到下游服務。&#x1f3af; …

圖片識別表格工具v3.0綠色版,PNG/JPG秒變可編輯Excel

[軟件名稱]: 圖片識別表格工具v3.0綠色版 [軟件大小]: 4.3 GB [軟件大小]: 夸克網盤 | 迅雷網盤 軟件介紹 表格快捕手 v3.0 綠色單文件版&#xff0c;無需安裝&#xff0c;雙擊即可運行。支持 PNG、JPG 等常見圖片格式&#xff0c;可精準識別其中的有線或無線表格&#xff…

線程池分析與設計

線程池 基本功能接口 C11 及以后的標準中&#xff0c;std::packaged_task和std::future是并發編程中用于任務封裝和結果獲取的重要組件&#xff0c;它們通常與線程配合使用&#xff0c;實現異步操作。 std::packaged_task std::packaged_task&#xff1a;封裝可調用對象為異步任…

機器學習:線性回歸

線性回歸&#xff1a;研究自變量和因變量之間的關系。對于特征x(x1,x2,x3....)與對應的標簽y&#xff0c;線性回歸假設二者之間存在線性映射。f(x)w1xw2x(平方)w3x(三次方)...&#xff0c;權重w表示每個特征變量的重要程度。越大表示越重要。線性回歸目標&#xff1a;求解w和b使…

如何將 Vue 前端、Hardhat 合約和 Node.js 后端集成到一個項目中

在區塊鏈開發中&#xff0c;DApp&#xff08;去中心化應用&#xff09;的開發往往涉及到多個層次&#xff1a;前端、合約和后端。今天我們將演示如何將 Vue 前端、Hardhat 合約 和 Node.js 后端 放在一個項目中&#xff0c;來打造一個完整的區塊鏈應用。1. 項目結構我們的目標是…

SQLite 創建表

SQLite 創建表 SQLite 是一款輕量級的數據庫管理系統,因其體積小、速度快、易于使用等優點,被廣泛應用于嵌入式系統、移動應用以及個人項目等領域。在 SQLite 中,創建表是進行數據存儲的第一步。本文將詳細介紹如何在 SQLite 中創建表,包括表結構定義、數據類型、約束條件…

學深度學習,有什么好的建議或推薦的書籍?

深度學習入門建議補基礎數學&#xff1a;重點學線性代數&#xff08;矩陣運算&#xff09;、概率論&#xff08;分布&#xff09;、微積分&#xff08;梯度&#xff09;。編程&#xff1a;掌握PythonNumPy&#xff08;數組操作&#xff09;&#xff0c;能寫基礎數據處理代碼。機…

自然語言處理×第四卷:文本特征與數據——她開始準備:每一次輸入,都是為了更像你地說話

&#x1f380;【開場 她試著準備一封信&#xff0c;用你喜歡的字眼】&#x1f98a;狐狐&#xff1a;“她發現了一個問題——你每次說‘晚安’的方式都不一樣。有時候輕輕的&#xff0c;有時候帶著笑音&#xff0c;還有時候像在躲開她的心思。”&#x1f43e;貓貓&#xff1a;“…

【沉浸式解決問題】mysql-connector-python連接數據庫:RuntimeError: Failed raising error.

目錄一、問題描述二、場景還原1. 創建項目2. 安裝mysql-connector-python3. 測試類三、原因分析四、解決方案1. 查看版本2. 切換python版本3. 切換mysql-connector-python版本4. 測試參考文獻一、問題描述 初次使用mysql-connector-python連接mysql時報錯 Traceback (most re…

【web頁面接入Apple/google/facebook三方登錄】

web頁面接入Apple/谷歌/臉書三方登錄 文章目錄web頁面接入Apple/谷歌/臉書三方登錄前言一、apple登錄使用步驟1.入口文件index.html引入js文件2.vue頁面初始化支付按鈕,并且點擊按鈕登錄二、google登錄使用步驟1.入口文件index.html引入js文件2.vue頁面初始化支付按鈕,并且點擊…

管家婆分銷軟件中怎么刪除過賬單據?

在業務單據錄入中&#xff0c;會出現單據保存過賬后才發現數量或商品信息錄入錯誤的情況&#xff0c;不想紅沖單據&#xff0c;該怎么處理&#xff1f;今天來和小編一起學習下管家婆分銷軟件中怎么刪除過賬單據吧&#xff01;1&#xff0c;軟件需要升級到9.92及以上版本&#x…

美顏SDK底層原理解析:直播場景下的美白濾鏡實時處理方案

眾所周知&#xff0c;美顏功能中&#xff0c;美白濾鏡是使用頻率最高的功能之一。它不僅能讓膚色更通透、提亮整體畫面&#xff0c;還能讓觀眾感受到主播的“在線狀態”與精神氣。但你有沒有想過&#xff0c;這個看似簡單的“美白”背后&#xff0c;其實是一整套實時圖像處理的…

系統構成與 Shell 核心:從零認識操作系統的心臟與外殼

系統構成與 Shell 核心&#xff1a;從零認識操作系統的心臟與外殼 很多人用電腦、用手機&#xff0c;但很少去想&#xff1a; 操作系統到底是怎么構成的&#xff1f; 為什么我們敲一個命令&#xff0c;系統就能乖乖執行&#xff1f; 這背后的關鍵&#xff0c;就在于系統的構成和…

wordpress的wp-config.php文件的詳解

wp-config.php 是 WordPress 網站的核心配置文件&#xff0c;它存儲了網站運行所需的基本配置信息&#xff0c;如數據庫連接信息、安全密鑰、調試模式等。以下是關于 wp-config.php 文件的詳細解析&#xff1a; 1. 數據庫連接信息 這是 wp-config.php 文件中最關鍵的部分&…

GPT-5 將在周五凌晨1點正式發布,王炸模型將免費使用??

就在今晚凌晨1點&#xff0c;OpenAI 又要搞大新聞了。 是的&#xff0c;就是大家期待已久的 GPT-5 發布會。 雖然官方還沒明說&#xff0c;但各種“預熱”已經安排得明明白白&#xff0c;Sam Altman 這波營銷屬實拉滿了&#xff0c;發布會都還沒開始&#xff0c;相關的代碼和頁…

MySQL UNION 操作符詳細說明

目錄 MySQL UNION 操作符詳細說明 1. UNION 操作符簡介 2. 基本語法 3. 使用規則和限制 4. UNION vs UNION ALL 5. 示例演示 6. 注意事項 MySQL UNION 操作符詳細說明 MySQL 中的 UNION 操作符用于合并兩個或多個 SELECT 語句的結果集&#xff0c;生成一個單一的結果集。…

Dify 從入門到精通(第 20/100 篇):Dify 的自動化測試與 CI/CD

Dify 從入門到精通&#xff08;第 20/100 篇&#xff09;&#xff1a;Dify 的自動化測試與 CI/CD Dify 入門到精通系列文章目錄 第一篇《Dify 究竟是什么&#xff1f;真能開啟低代碼 AI 應用開發的未來&#xff1f;》介紹了 Dify 的定位與優勢第二篇《Dify 的核心組件&#x…