使用JavaScript完成簡單的數據校驗

来源:https://www.cnblogs.com/zllk/archive/2020/05/05/12833743.html
-Advertisement-
Play Games

使用JS完成簡單的數據校驗 需求分析 使用JS完成對註冊頁面的簡單數據校驗,不允許出現用戶名或密碼為空的情況 技術分析 from表單屬性——onsubmit必須要有返回值,若為true,submit提交成功,若為false,無法提交 JS方法 :變數的值 :變數的長度 :檢驗括弧內的值 正則表達式 ...


使用JS完成簡單的數據校驗

需求分析

使用JS完成對註冊頁面的簡單數據校驗,不允許出現用戶名或密碼為空的情況

技術分析

from表單屬性——onsubmit必須要有返回值,若為true,submit提交成功,若為false,無法提交

JS方法
.value:變數的值
.length:變數的長度
.test():檢驗括弧內的值

正則表達式

代碼實現

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			/*
				1. 確認事件: 表單提交事件 onsubmit事件 
				2. 事件所要觸發的函數: checkForm
				3. 函數中要乾點事情
					1. 校驗用戶名, 用戶不能為空, 長度不能小於6位
						1.獲取到用戶輸入的值
			*/
			function checkForm(){
				//獲取用戶名輸入項
				var inputObj = document.getElementById("username");
				//獲取輸入項的值
				var uValue = inputObj.value;
//				alert(uValue);
				//用戶名長度不能6位 ""
				if(uValue.length < 6 ){
					alert("對不起,您的長度太短!");
					return false;	
				}
				//密碼長度大於6 和確認必須一致
				
				//獲取密碼框輸入的值
				var input_password = document.getElementById("password");
				var uPass = input_password.value;
				
				if(uPass.length < 6){
					alert("對不起,您還是太短啦!");
					return false;
				}
				
				//獲取確認密碼框的值
				var input_repassword = document.getElementById("repassword");
				var uRePass = input_repassword.value;
				if(uPass != uRePass){
					alert("對不起,兩次密碼不一致!");
					return false;
				}
				
				//校驗手機號
				var input_mobile = document.getElementById("mobile");
				var uMobile = input_mobile.value;
				//
				if(!/^[1][3578][0-9]{9}$/.test(uMobile)){
					
					alert("對不起,您的手機號無法識別!");
					
					return false;
				}
				
				//校驗郵箱: /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/
				var inputEmail = document.getElementById("email");
				var uEmail = inputEmail.value;
				
				if(!/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/.test(uEmail)){
					alert("對不起,郵箱不合法");
					return false;
				}			
				return true;
			}	
		</script>
	</head>
	<body>
		<form action="JS開發步驟.html" onsubmit="return checkForm()">
			<div>用戶名:<input id="username" type="text"  /></div>
			<div>密碼:<input id="password" type="password"  /></div>
			<div>確認密碼:<input id="repassword" type="password"  /></div>
			<div>手機號碼:<input id="mobile"  type="number"  /></div>
			<div>郵箱:<input id="email" type="text"  /></div>
			<div><input type="submit" value="註冊"  /></div>
		</form>
	</body>
</html>

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

-Advertisement-
Play Games
更多相關文章
  • 省市聯動效果 技術分析 什麼是DOM: Document Object Model : 管理我們的文檔,增刪改查規則 【HTML中的DOM操作】 一些常用的 HTML DOM 方法: getElementById(id) 獲取帶有指定 id 的節點(元素) appendChild(node) 插入新 ...
  • 覆選框的全選和全不選 需求分析 ​ 商品分類界面中,當我們點擊全選框的時候,我們希望選中所有的商品,當我們取消掉的時候,我們希望不選中所有的商品 技術分析 checked="checked" 選擇覆選框 事件 : onclick點擊事件 getElementsByTagName:返回包含帶有指定標簽 ...
  • 表格隔行換色 需求分析 ​ 我們商品分類的信息太多,如果每一行都顯示同一個顏色的話會讓人看的眼花,為了提高用戶體驗,減少用戶看錯的情況,需要對錶格進行隔行換色 技術分析 table對象 集合 cells[]:返回包含表格中所有單元格的一個數組。 rows[]:返回包含表格中所有行的一個數組。 tBo ...
  • 完成表單的校驗 需求分析 ​ 昨天我們做了一個簡單的表單校驗,每當用戶輸入出錯的時候,我們是彈出了一個對話框,提示用戶去修改。這樣的用戶體驗效果非常不好好。我們今天就是需要來對他進行一個修改,當用戶輸入信息有問題的時候,我們就再輸入框的後面給他一個友好提示。 技術分析 【HTML中innerHTML ...
  • 一、複習了伸縮佈局 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="CSS/base.css"> <link rel="s ...
  • TS 自學筆記(一) 本文寫於 2020 年 5 月 6 日 日常廢話兩句 有幾天沒有更新了,最近學的比較亂,休息了兩天感覺好一些了。這兩天玩了幾個設計軟體,過幾天也寫篇文章分享分享。 為啥要學 TS? 進入正題哈,經常寫 JS 的人會特別多的碰到一個 bug: 之類的。 這是為什麼呢? 其實就是我 ...
  • 完成頁面定時彈出廣告 需求分析 ​ 一般網頁,當我們剛打開的時候,它會5秒之後,顯示一個廣告,讓我們看5秒鐘,然後他的廣告就自動消失了! 技術分析 定時器 setInterval : 每隔多少毫秒執行一次函數 setTimeout: 多少毫秒之後執行一次函數 clearInterval clearT ...
  • 使用JS完成圖片的輪播效果 需求分析 在我們的網站首頁,通常需要有一塊區域,用來顯示廣告,但是這塊區域如果僅僅顯示一張圖片肯定是不夠的, 故我們需要採用動態迴圈播放我們所有的廣告. 顯示效果照抄黑馬程式員的網站首頁 技術分析 切換圖片: 每個三秒鐘做一件事: window.setInterval() ...
一周排行
    -Advertisement-
    Play Games
  • JWT(JSON Web Token)是一種用於在網路應用之間傳遞信息的開放標準(RFC 7519)。它使用 JSON 對象在安全可靠的方式下傳遞信息,通常用於身份驗證和信息交換。 在Web API中,JWT通常用於對用戶進行身份驗證和授權。當用戶登錄成功後,伺服器會生成一個Token並返回給客戶端 ...
  • 老周在幾個世紀前曾寫過樹莓派相關的 iOT 水文,之所以沒寫 Nano Framework 相關的內容,是因為那時候這貨還不成熟,可玩性不高。不過,這貨現在已經相對完善,老周都把它用在項目上了——第一個是自製的智能插座,這個某寶上50多塊可以買到,搜“esp32 插座”就能找到。一種是 86 型盒子 ...
  • 引言 上一篇我們創建了一個Sample.Api項目和Sample.Repository,並且帶大家熟悉了一下Moq的概念,這一章我們來實戰一下在xUnit項目使用依賴註入。 Xunit.DependencyInjection Xunit.DependencyInjection 是一個用於 xUnit ...
  • 在 Avalonia 中,樣式是定義控制項外觀的一種方式,而控制項主題則是一組樣式和資源,用於定義應用程式的整體外觀和感覺。本文將深入探討這些概念,並提供示例代碼以幫助您更好地理解它們。 樣式是什麼? 樣式是一組屬性,用於定義控制項的外觀。它們可以包括背景色、邊框、字體樣式等。在 Avalonia 中,樣 ...
  • 在處理大型Excel工作簿時,有時候我們需要在工作表中凍結窗格,這樣可以在滾動查看數據的同時保持某些行或列固定不動。凍結窗格可以幫助我們更容易地導航和理解複雜的數據集。相反,當你不需要凍結窗格時,你可能需要解凍它們以獲得完整的視野。 下麵將介紹如何使用免費.NET庫通過C#實現凍結Excel視窗以鎖 ...
  • .NET 部署 IIS 的簡單步驟一: 下載 dotnet-hosting-x.y.z-win.exe ,下載地址:.NET Downloads (Linux, macOS, and Windows) (microsoft.com) .NET 部署 IIS 的簡單步驟二: 選擇對應的版本,點擊進入詳 ...
  • 拓展閱讀 資料庫設計工具-08-概覽 資料庫設計工具-08-powerdesigner 資料庫設計工具-09-mysql workbench 資料庫設計工具-10-dbdesign 資料庫設計工具-11-dbeaver 資料庫設計工具-12-pgmodeler 資料庫設計工具-13-erdplus ...
  • 初識STL STL,(Standard Template Library),即"標準模板庫",由惠普實驗室開發,STL中提供了非常多對信息學奧賽很有用的東西。 vector vetor是STL中的一個容器,可以看作一個不定長的數組,其基本形式為: vector<數據類型> 名字; 如: vector ...
  • 前言 最近自己做了個 Falsk 小項目,在部署上伺服器的時候,發現雖然不乏相關教程,但大多都是將自己項目代碼複製出來,不講核心邏輯,不太簡潔,於是將自己部署的經驗寫成內容分享出來。 uWSGI 簡介 uWSGI: 一種實現了多種協議(包括 uwsgi、http)並能提供伺服器搭建功能的 Pytho ...
  • 1 文本Embedding 將整個文本轉化為實數向量的技術。 Embedding優點是可將離散的詞語或句子轉化為連續的向量,就可用數學方法來處理詞語或句子,捕捉到文本的語義信息,文本和文本的關係信息。 ◉ 優質的Embedding通常會讓語義相似的文本在空間中彼此接近 ◉ 優質的Embedding相 ...