Javascript的表單驗證-揭開正則表達式的面紗
來源:易賢網(wǎng) 閱讀:668 次 日期:2016-07-19 15:17:09
溫馨提示:易賢網(wǎng)小編為您整理了“Javascript的表單驗證-揭開正則表達式的面紗”,方便廣大網(wǎng)友查閱!

用元字符匹配相應(yīng)的字符類型

創(chuàng)建正則表達式有點像創(chuàng)建字符串字面量,只不過正則表達式出現(xiàn)在一對”/”里

正則表達式中會用到一級元字符,用于連接字母與數(shù)字

“.” 匹配任何字符,除換行符外

“\d”匹配任何數(shù)字字符

“\w”匹配任何字母或數(shù)字字符

“\s”匹配空格

“^”字符串需以模式起始

“$”字符串需以模式結(jié)束

元字符不只表示一個字面量字符,它乃是用于構(gòu)建正則表達式的符號

例:這里有三個字符

“A”,”7”,”%”

/\w/可以匹配”A”,”7”

/^\d/可以匹配”7”

/\d/可以匹配”7”

/./可以匹配”A”,”7”,”%”

但是包含多個字符的字符串怎么辦?

“2nite”,”007”,”catch22”,

/^\d/可匹配到”2nite”,”007”(開頭都是數(shù)字)

/\d\d\d/可匹配”007”(一行中有3個數(shù)字)

/^cat/可匹配”catch22”(以cat字符開頭)

/\d\d$/可匹配”catch22”(必須以兩個數(shù)字來結(jié)尾)

例如:匹配美國郵編,郵編格式為#####-####

/^\d\d\d\d\d-\d\d\d\d$/

用限定符指定字符出現(xiàn)的次數(shù)

限定符用于控件子模式出現(xiàn)于正則表達式里的次數(shù)

限定符前為子模式,限定符即應(yīng)用在子模式,并控制子模式出現(xiàn)在模式里的次數(shù)

“*”限定符前的子模式必須出現(xiàn)0次或多次

“+”限定符前的子模式必須出現(xiàn)1次或多次

“?”限定符前的子模式必須出現(xiàn)0次或1次

“{n}”限定符前的子模式必須恰好出現(xiàn)N次

“()”集合字符或/和元字符,成為子模式

同樣是以郵政編碼為例

/^\d{5}-\d{4}$/

可以看出,加上限定符的表達式比只有元字符的表達式更加的精準

/\w*/匹配任何字母數(shù)字字符,包括空字符串

/.+/匹配一個出現(xiàn)一次以上的字符串(用于匹配非非空的字符串)

/(Hot)??Donuts/可匹配出Hot或Donuts

*在正則表達式里想要匹配具有特殊意義的字符的時候,可以用反斜杠

例如匹配$:\$*

利用正則表達式驗證數(shù)據(jù)

JavaScript里的正則表達式由RegExp對象表示,其中包含使用正則表達式驗證數(shù)據(jù)的關(guān)鍵–test()方法,它檢查字符串里是否存在指定的模式

例:

代碼如下:

var regex=/^\d{5}$/;//匹配5位數(shù)郵政編碼的正則表達式;

正則表達式對象字面量自動合建RegExp對象

if(!regex.test(inputFiled.value))

{

//在正則表達式上調(diào)用text方法

//如果符合合正則表達式的要求,返回true

//如果不符合正則表達式的要求,返回false

}

代碼案例

接下來,寫一個專門用來驗證字符串格式的方法

//regex正則表達式

//inputStr需要驗證的字符串

//helpText提供信息提示的一個span標簽

//helpMessage提示信息內(nèi)容

//

function validateRegExp(regex,inputStr,helpText,helpMessage)

{

if(!regex.test(inputStr))

{

if(helpText!=null)

helpText.innerHTML=helpMessage;

return false;

}

else{

if(helpText!=null)

helpText.innerHTML="";

}

return true;

}

function validateDate(inputFild,helpText)

{

if(!validateNonEmpty(inputFild,helpText)//先檢查參數(shù)是非空的

{

return false;

}

return validateRegExp(/^\d{2}\/\d{2}\/\d{4}$/,inputFild,helpText,"請輸入正確的日期格式");//調(diào)用正則驗證方法

}

好了,本文到此結(jié)束

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機網(wǎng)站地址:Javascript的表單驗證-揭開正則表達式的面紗

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)