abstrak:第一部分:form表單基礎(chǔ)表單驗(yàn)證使用onblur還是onchange.JavaScript中的正則表達(dá)式提示:在JavaScript代碼中,函數(shù)需要傳入的參數(shù)是一個(gè)對象時(shí),在函數(shù)主體body中一定需要對這個(gè)參數(shù)進(jìn)行判斷是否為null。表單驗(yàn)證的作用:把輸入的表單數(shù)據(jù)傳入給JavaScript代碼進(jìn)行驗(yàn)證,可以讓網(wǎng)絡(luò)應(yīng)用程序更加可靠,也能減少服務(wù)器的負(fù)擔(dān),同時(shí)減少客戶端與服務(wù)器的帶寬。form表單
第一部分:form表單基礎(chǔ)
表單驗(yàn)證使用onblur還是onchange.
JavaScript中的正則表達(dá)式
提示:在JavaScript代碼中,函數(shù)需要傳入的參數(shù)是一個(gè)對象時(shí),在函數(shù)主體body中一定需要對這個(gè)參數(shù)進(jìn)行判斷是否為null。
表單驗(yàn)證的作用:把輸入的表單數(shù)據(jù)傳入給JavaScript代碼進(jìn)行驗(yàn)證,可以讓網(wǎng)絡(luò)應(yīng)用程序更加可靠,也能減少服務(wù)器的負(fù)擔(dān),同時(shí)減少客戶端與服務(wù)器的帶寬。
form表單常見需要驗(yàn)證的字段:
Message(字符串),ZIP code(郵政編碼),日期(date),Phone Number(電話號碼),Email(電子郵件),smart Phone Number(手機(jī)號碼)。
form對象是一個(gè)數(shù)組,負(fù)責(zé)存儲表單中所與域的值,但它的數(shù)組元素并非利用數(shù)值索引存儲,而是使用域獨(dú)有的name屬性設(shè)定的標(biāo)示符。在后臺服務(wù)器接收form表單域的值也是通過name來作為標(biāo)示符的。
onchange事件不可以用于驗(yàn)證表單域的值是否為空。onblur事件適合觸發(fā)數(shù)據(jù)驗(yàn)證。如何處理用戶復(fù)制/粘貼文本到表單域中?(onblur和onfocus是相反事件)
onblur事件:表單域失去焦點(diǎn)時(shí)觸發(fā)。
onfocus事件:表單元素或表單域獲得輸入的焦點(diǎn)時(shí)觸發(fā)。
this關(guān)鍵字,在HTML元素的上下文中,它代表該元素的對象。
alert框和彈出式廣告(pop-up ad)
alert框會阻止用戶當(dāng)前進(jìn)行的工作,強(qiáng)制用戶按下確定按鈕之后才能繼續(xù)下一步操作。這種設(shè)計(jì)具有分裂性,所以alert框不適合用在數(shù)據(jù)驗(yàn)證的提示。
pop-up框目前是一種使用非常多的提示用戶的方法。一方面可以在很小的空間顯示更多的內(nèi)容,另一方面能大大提供應(yīng)用程序的交互性。缺點(diǎn)是在mobile devices時(shí),操作起來不是很方便,同時(shí)開放起來相對要復(fù)雜一些,需要做適配設(shè)備的顯示分辨率。
表單域的所有驗(yàn)證都通過后,可以調(diào)用form.submit()方法將表單的值提交給服務(wù)器。
第二部分:正則表達(dá)式(Regular Expression)
正則表達(dá)式專門設(shè)計(jì)用于匹配(match)文本模式(pattern),可用于創(chuàng)建模式,然后應(yīng)用于文本字符串,搜索匹配的部分。
/Expression/ 正則表達(dá)式總是以斜線起始和結(jié)束。
元字符
限定符前子模式(sub-pattern),限定符即應(yīng)用于子模式,并控制子模式出現(xiàn)在模式里面的次數(shù)。
字符串
[CharacterClass] 字符串總是以方括號圍起來。一組匹配單一字符的正則表達(dá)式規(guī)則。
需要轉(zhuǎn)義的特殊字符,必須在字符前加上反斜線(\)來轉(zhuǎn)義:
[、]、^、$、.、|、?、*、+、(、)。