最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript表單及正則表達(dá)式驗(yàn)證實(shí)例代碼

 更新時(shí)間:2025年07月21日 09:38:24   作者:風(fēng)中飄爻  
正則表達(dá)式在JavaScript中可是個(gè)強(qiáng)大的工具,能幫助我們進(jìn)行復(fù)雜的字符串匹配、查找和替換,這篇文章主要介紹了JavaScript表單及正則表達(dá)式驗(yàn)證的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

今天我要介紹的是在JavaScript中關(guān)于表單驗(yàn)證內(nèi)容的知識(shí)點(diǎn)介紹:

關(guān)于表單驗(yàn)證,我接下來(lái)則直接將內(nèi)容以及效果顯示出來(lái)并作注解,這樣可以清晰看見這個(gè)表達(dá)驗(yàn)證的妙用:

<form id="ff" action="https://www.baidu.com">
			<h1>用戶登錄</h1>
			賬號(hào):<input type="text" id="zh" /> <span></span> <br />
			密碼:<input type="password" id="mm" /><span></span> <br />
			<Button>登錄</Button>
		</form>

效果:

注:可以看到這是一個(gè)非常經(jīng)典的登錄界面的制作,下面我會(huì)逐一介紹他們內(nèi)部的方法使用以及代碼顯示的效果;

onclick: 點(diǎn)擊事件   //ondblclick: 雙擊事件 // onsubmit: 表單提交事件 // onblur: 失去焦點(diǎn)事件 // onfocus: 獲取焦點(diǎn)事件。

注: 這是事件點(diǎn)擊使用的方法代碼;

表單提交的代碼演示:

document.getElementById('ff(自定義)').onsubmit = function() {
				console.log('觸發(fā)了onsubmit');
				// 獲取表單中的賬號(hào)和密碼
				let zh = document.getElementById("zh").value;
				let mm = document.getElementById("mm").value;
				// 判斷賬號(hào)及密碼是否為空
				if (zh.length == 0 || mm.length == 0) {
					alert('請(qǐng)輸入正確的賬號(hào)或密碼')
                     // 自定義彈出框
					document.querySelector('.mask').style.display = "block";
					return false;
				}
				// 以下結(jié)果為true 表允許表單提
				//交到指定頁(yè)面,反之則不能,且只能實(shí)現(xiàn)所輸入的結(jié)果
				return true;
			}

 注{  return false  }為阻止表單提交,但如果整體代碼無(wú)錯(cuò),{ return true }則通過(guò),提交表單。

效果:

賬號(hào)和密碼獲取/失去焦點(diǎn)演示:

         // 賬號(hào)獲取焦點(diǎn)事件
			document.getElementById('zh').onfocus = function() {
				// let = zh = this.value;
				this.nextElementSibling.innerHTML = "";
			}
			// 賬號(hào)失去焦點(diǎn)事件
			document.getElementById('zh').onblur = function() {
				let = zh = this.value;
				let f = zh.length == 0;
				console.log(zh);
				this.nextElementSibling.innerHTML = f ? "×" : "√";
				// this.nextElementSibling.style.display=f?"block":"none";
 			}
            // 密碼獲取焦點(diǎn)事件
			document.getElementById('mm').onfocus = function() {
				// let = zh = this.value;
				this.nextElementSibling.innerHTML = "";
			}
			// 密碼失去焦點(diǎn)事件
			document.getElementById('mm').onblur = function() {
				let = zh = this.value;
				let f = zh.length == 0;
				console.log(zh);
				this.nextElementSibling.innerHTML = f ? "×" : "√";
				// this.nextElementSibling.style.display=f?"block":"none";
			}

 注:注意看賬號(hào)和密碼的代碼格式內(nèi)容,兩者設(shè)置的自定義不同,并非全部都是一樣

效果:

 密碼:

注:當(dāng)內(nèi)容存在焦點(diǎn)時(shí)則有判斷,有內(nèi)容則成立,無(wú)內(nèi)容則錯(cuò)誤,不成立,無(wú)法進(jìn)行表單提交

正則表達(dá)式:

<!-- 正則表達(dá)式是用于對(duì)數(shù)據(jù)格式進(jìn)行判斷 -->
        <!-- 定義正則表達(dá)式: var rex = /^\d$\(\d表0-0的數(shù)字) -->
        
        <!-- 1.內(nèi)容(以\開頭) -->
        <!-- \d:表0-9的數(shù)字 -->
        <!-- \w:表0-9a-zA-Z_ -->      (非:不是,表示否定之意,這里注意)
        <!-- \D:表非0-9的數(shù)字 -->
        <!-- \W:表非0-9a-zA-Z -->
        <!-- .表任意一個(gè)單個(gè)字符 -->
        
        <!-- 2.字符出現(xiàn)速度 -->
        <!-- ?表0 or 一次 -->
        <!-- +表一次或者多次 -->
        <!-- *表0此或多次 -->
        <!-- \d{5}表五個(gè)數(shù)字 -->
        <!-- \d{5,10}表至低五個(gè),至高十個(gè) -->

 例:

// 例一:
			var rex = /^[A-Z]{1}\w{5,11}$/
			 console.log(rex.test('Zking1234'));

效果:

 注:開頭小寫不成立,不滿足;

例:

// // QQ號(hào)案例
			1184995259@qq.com
			 var rex1 = /^\d{5,12}@qq.com$/
			 console.log(rex.test('1136889226@qq.com'));

注:后面的  @qq.com  為固定值

以正則表達(dá)式為方法的登錄界面:

注:(效果與表單驗(yàn)證同理,但是在其基礎(chǔ)上用正則表達(dá)式的方式進(jìn)行使用。)

<form id="ff" action="">
			<h1>用戶登錄</h1>
			賬號(hào):<input type="text" id ="zh" /> <span></span> <br />
			密碼:<input type="text" id="mm" /><span></span> <br />
			<Button>登錄</Button>
		</form>
		<input type="text" id ="mm1"  /><span></span>

document.getElementById("ff").onsubmit=function(){
				// 定義賬號(hào)的驗(yàn)證規(guī)則
				var rex1 = /^[a-z]{5,10}$/
				// 定義密碼 
				var rex2 = /^[a-z0-9A-Z.]{5,10}$/
				
				var username = rex1.test(zh.value);
				console.log(usernam);
				if(username){
					zh.nextElementSibling.style="color:blue";
					zh.nextElementSibling.innerHTML="對(duì)";
				}else{
					zh.nextElementSibling.style="color:green";
					zh.nextElementSibling.innerHTML="錯(cuò)";
				}
				var password = rex2.test(mm.value);
				console.log(password);
				if(password){
					mm.nextElementSibling.style="color:blue";
					mm.nextElementSibling.innerHTML="對(duì)";
				}else{
					mm.nextElementSibling.style="color:green";
					mm.nextElementSibling.innerHTML="錯(cuò)";
				}
				return username&&password;
			}

注:關(guān)鍵點(diǎn):return username&&password;  

效果:

 注:未輸入內(nèi)容時(shí)的效果;

注:輸入內(nèi)容與為輸入內(nèi)容時(shí)的對(duì)照。

密碼安全級(jí)別強(qiáng)度驗(yàn)證:

document.getElementById('mm1').onkeyup=function(){
			let c = 0;
			var rex1 = /^.*\d.*$/;  //包含數(shù)字
			var rex2 = /^.*[a-z].*$/; //包含字母
			var rex3 = /^.*[A-Z].*$/; //包含大寫字母
			var rex4 = /^.*[@.].*$/; //包含特殊符號(hào)
			let m = this.value;
			if(rex1.test(m)){
				c++;
			}
			if(rex2.test(m)){
				c++;
			}
			if(rex3.test(m)){
				c++;
			}
			if(rex4.test(m)){
				c++;
			}
			let arr=['弱','中等','強(qiáng)','超強(qiáng)']
			if(m.length==0){
				this.nextElementSibling.innerHTML="";
			}else{
				this.nextElementSibling.innerHTML=arr[c-1];
			}
			
		}

效果:

釋義

let arr=['弱','中等','強(qiáng)','超強(qiáng)']
			if(m.length==0){
				this.nextElementSibling.innerHTML="";
			}else{
				this.nextElementSibling.innerHTML=arr[c-1];   《==
			}

注:c-1 由強(qiáng)至弱反向,由弱至強(qiáng)正向,

總結(jié):希望本篇有關(guān)于JavaScript表單驗(yàn)證和正則表達(dá)式的知識(shí)點(diǎn)內(nèi)容能對(duì)你帶來(lái)一定的幫助,同時(shí)非常感謝各位大佬們的點(diǎn)贊與支持,咱們下一篇不見不散。

總結(jié)

到此這篇關(guān)于JavaScript表單及正則表達(dá)式驗(yàn)證的文章就介紹到這了,更多相關(guān)JS表單及正則表達(dá)式驗(yàn)證內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解JS中常用的Fetch API

    詳解JS中常用的Fetch API

    Fetch API是一種用于進(jìn)行網(wǎng)絡(luò)請(qǐng)求的現(xiàn)代JavaScript API,提供了更簡(jiǎn)潔、強(qiáng)大和靈活的方式來(lái)處理異步數(shù)據(jù)交互,本文主要為大家介紹了js中js中基本用法,感興趣的同學(xué)可以參考下
    2023-07-07
  • 解決bootstrap中modal遇到Esc鍵無(wú)法關(guān)閉頁(yè)面

    解決bootstrap中modal遇到Esc鍵無(wú)法關(guān)閉頁(yè)面

    Bootstrap,來(lái)自 Twitter,是目前最受歡迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它簡(jiǎn)潔靈活,使得 Web 開發(fā)更加快捷。不過(guò)在使用的過(guò)程中,我們還是會(huì)遇到各種小問(wèn)題,今天我們探討的就是個(gè)人在使用中遇到的一個(gè)小BUG的修復(fù)。
    2015-03-03
  • js判斷瀏覽器是否支持html5

    js判斷瀏覽器是否支持html5

    這篇文章主要介紹了如何使用js判斷瀏覽器是否支持html5,需要的朋友可以參考下
    2014-08-08
  • 前端雙token無(wú)感刷新圖文詳解

    前端雙token無(wú)感刷新圖文詳解

    實(shí)現(xiàn)token無(wú)感刷新對(duì)于前端來(lái)說(shuō)是一項(xiàng)十分常用的技術(shù),這篇文章主要給大家介紹了關(guān)于前端雙token無(wú)感刷新的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • js創(chuàng)建對(duì)象的方式總結(jié)

    js創(chuàng)建對(duì)象的方式總結(jié)

    這篇文章主要介紹了js創(chuàng)建對(duì)象的方式,實(shí)例總結(jié)了3種常用的創(chuàng)建對(duì)象的方式,非常實(shí)用,需要的朋友可以參考下
    2015-01-01
  • javascript 循環(huán)調(diào)用示例介紹

    javascript 循環(huán)調(diào)用示例介紹

    循環(huán)調(diào)用,如果已經(jīng)獲取到了結(jié)果,則退出循環(huán),下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以嘗試操作下
    2013-11-11
  • JavaScript Math對(duì)象和調(diào)試程序的方法分析

    JavaScript Math對(duì)象和調(diào)試程序的方法分析

    這篇文章主要介紹了JavaScript Math對(duì)象和調(diào)試程序的方法,結(jié)合實(shí)例形式分析了javascript中Math對(duì)象生成隨機(jī)數(shù)以及使用alert()、console.log()函數(shù)進(jìn)行錯(cuò)誤調(diào)試相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • 詳解js創(chuàng)建對(duì)象的幾種方式和對(duì)象方法

    詳解js創(chuàng)建對(duì)象的幾種方式和對(duì)象方法

    這篇文章主要介紹了詳解js創(chuàng)建對(duì)象的幾種方式和對(duì)象方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • js利用prototype調(diào)用Array的slice方法示例

    js利用prototype調(diào)用Array的slice方法示例

    這篇文章主要介紹了如何利用js的prototype調(diào)用Array的slice方法,需要的朋友可以參考下
    2014-06-06
  • JavaScript使用docx-preview和mammoth預(yù)覽Docx

    JavaScript使用docx-preview和mammoth預(yù)覽Docx

    這篇文章主要為大家詳細(xì)介紹了兩個(gè)庫(kù),即docx-preview和mammoth,利用它們,你就能在瀏覽器中完美預(yù)覽 Word 文檔,甚至連表格樣式,頁(yè)眉頁(yè)腳都原汁原味地呈現(xiàn)出來(lái),下面我們來(lái)看看具體使用步驟吧
    2025-04-04

最新評(píng)論

汝州市| 台南市| 鄂伦春自治旗| 班玛县| 普洱| 安吉县| 宿迁市| 新沂市| 昭觉县| 贵州省| 麻城市| 竹山县| 葫芦岛市| 施甸县| 西林县| 都昌县| 房山区| 右玉县| 大姚县| 峨山| 华坪县| 蒙城县| 班玛县| 醴陵市| 武威市| 年辖:市辖区| 怀仁县| 兰溪市| 钟祥市| 广汉市| 黄骅市| 兴文县| 房产| 清河县| 光山县| 元阳县| 岳普湖县| 富阳市| 永安市| 泰兴市| 浙江省|