JS實現表單驗證方式方法(附帶input事件節流)

2021-10-04 22:41:03 字數 2086 閱讀 3223

<

!doctype html>

"en"

>

"utf-8"

>

"viewport" content=

"width=device-width, initial-scale=1.0"

>

表單驗證<

/title>

<

/head>

"" method=

"get"

>

使用者名稱:"text"

>

<

/span>

密 碼:"password"

>

<

/span>

"submit"

>

<

/form>

/* 設定初始變數ids bool未定義.

ids為的是起到節流作用,防止input事件中長按會持續觸發導致效率低下

bool為的是通過條件判斷得到內容的正確與否

*/let ids;

let bool;

let form = document.

queryselector

("form");

// 找到頁面上的所有input標籤並將其轉換成陣列形式,以便後面可以使用陣列的方法

// 注意這裡將包含了最後提交按鈕的input標籤

// 我們只需要獲取輸入內容的input標籤,所以後面將通過pop方法把最後乙個input從陣列剔除

let list = array.

from

(document.

getelementsbytagname

("input"))

;// 刪除最後提交按鈕的input

list.

pop();

// 這裡通過設定空陣列,初始化向空陣列內新增false,表示開始

// input內狀態全部為false狀態

let arr =

;for

(let i=

0; i)// 分別給form新增input和submit繫結事件

// 通過冒泡機制實現input輸入事件,最後form進行偵聽所選擇的輸入框

form.

addeventlistener

("input"

, formhandler)

; form.

addeventlistener

("submit"

, formhandler)

;function

formhandler

(e)else

// 最後將返回的bool的結果進行陣列內的替換

arr[index]

= bool;

// 為了進行切換,這裡需要再將bool值設定為false

// 這樣500毫秒之後觸發事件就又可以進行獲取了,不設定的話將執行一次之後不會

// 再進入語句塊了

ids =0;

},500,e);}

else

if(e.type ===

"submit"

&& arr.

indexof

(false

)===-1

)else

}function

judgetxt

(index,value)$/.

test

(value)

;case1:

return/^

(?=\d+\d)(?

=.*[a-z])(

?=.*

[a-z

])[a-za-z0-

9]$/.

test

(value);}

}<

/script>

<

/body>

<

/html>

涉及知識點:

1.input事件的節流

2.正則的test方法應用

注意事項:

節流要在事件為input的時候進行,否則會出現無法阻止預設submit的問題。

表單驗證的實現方法

a.兩種驗證方式 1.在表單提交時進行驗證,sumbit時 2.在表單控制項失去焦點時進行驗證 表單驗證邏輯一般寫在表單提交之前,html5也新增了表單驗證形式,表單驗證可以使用正規表示式 b.表單驗證一些必需的驗證專案 1.使用者是否填寫表單中必填專案 2.使用者是否已經輸入合法的日期 3.使用者...

js 策略模式 實現表單驗證

簡單點說就是 實現目標的方式有很多種 你可以根據自己身情況選乙個方法來實現目標 所以至少有2個物件 乙個是策略類 乙個是環境類 上下文 然後自己就可以根據上下文選擇不同的策略來執行方案 策略模式的優點 1.策略模式利用組合 委託和多型等技術和思想,可以有效地避免多重條件選擇語句 2.策略模式提供了對...

最實用的js表單驗證方法

每次都要用到表單驗證的時候,就在到處找東西,而網上的很多都不見的好用。自己終於累計了這些方法,在自己的程式中使用了的一些方法,肯定是好用的,主要使用了簡單的正規表示式進行判斷。如果有bug,歡迎提出來。下面驗證的是長度 function checktextlen textid for var i 0...