RegExp說明
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
new RegExpASP正則表達(dá)式 <Execute 描述:對指定的字符串執(zhí)行正則表達(dá)式搜索。 語法:object.Execute(string) Execute object:必需的??偸且粋€ string:必需的。要在其上執(zhí)行正則表達(dá)式的文本字符串。 說明:正則表達(dá)式搜索的設(shè)計模式是通過 <Test方法> 描述:對指定的字符串執(zhí)行一個正則表達(dá)式搜索,并返回一個 語法:object.Test(string) Test object:必需的。總是一個 string:必需的。要執(zhí)行正則表達(dá)式搜索的文本字符串。 說明:正則表達(dá)式搜索的實際模式是通過RegExp對象的Pattern屬性來設(shè)置的。RegExp.Global屬性對Test方法沒有影響。如果找到了匹配的模式,Test方法返回True;否則返回False。 <Global屬性> 描述:設(shè)置或返回一個 語法:object.Global object <IgnoreCase屬性> 描述:設(shè)置或返回一個Boolean值,指明模式搜索是否區(qū)分大小寫。 語法:object.IgnoreCase object <Pattern屬性> 描述:設(shè)置或返回被搜索的正則表達(dá)式模式。 語法:object.Pattern Pattern object:必需的??偸且粋€ searchstring:可選的。被搜索的正則字符串表達(dá)式。它可能包含設(shè)置部分表格中的各種正則表達(dá)式字符。 設(shè)置:在書寫正則表達(dá)式的模式時使用了特殊的字符和序列。下表描述了可以使用的字符和序列,并給出了實例。 字符描述: 配。"\n"與換行符匹配。序列"\\"與"\"匹配,"\("與"("匹配。 ^ $ * + ? .:匹配換行符以外的任何字符。 (pattern) 或 x|y:匹配 配 {n}:n 配,但是可以?quot;foooood"中的前兩個o匹配。 {n,} {n,m} [xyz] 配"plain"中的"a"。 [^xyz] [a-z] [^m-z] 在"m"到"z"之間的任何字符匹配。 \b \B \d \D \f \n \r \s \f\n\r\t\v]"。 \S \t \v \w \W \num \n:匹配 例如,"\11" \xn:匹配n,其中n是一個十六進(jìn)制的換碼值。十六進(jìn)制換碼值必須恰好為兩個數(shù)字長。例如,"\x41"匹配"A"。"\x041"等價于"\x04" 好了,常用的方法和屬性就是這些了,上面的語法介紹的已經(jīng)很詳細(xì)了,我們就沒有必要在羅嗦了,接下來我們來看看在具體的例子里面如何使用這些方法和屬性來校驗數(shù)據(jù)的合法性,我們還是舉個例子吧,比如,我們想要對用戶輸入的電子郵件進(jìn)行校驗,那么,什么樣的數(shù)據(jù)才算是一個合法的電子郵件呢?我可以這樣輸入: uestc95@263.net,當(dāng)然我也會這樣輸入:xxx@yyy.com.cn,但是這樣的輸入就是非法的:xxx@@com.cn或者@xxx.com.cn,等等,所以我們得出一個合法的電子郵件地址至少應(yīng)當(dāng)滿足以下幾個條件: 1. 2. 3. 4. 5. 所以根據(jù)以上的原則和上面表中的語法,我們很容易的就可以得到需要的模板如 下:"(\w)+[@]{1}(\w)+[.]{1,3}(\w)+" 接下來我們仔細(xì)分析一下這個模板,首先“\w”表示郵件的開始字符只能是包含下劃線的單詞字符,這樣,滿足了第三個條件;“[@]{1}”表示在電子郵件中應(yīng)當(dāng)匹配并且只能匹配一次字符“@”,滿足了條件一;同樣的“[.]{1,3}”表示在電子郵件中至少匹配1個至多匹配3個字符“.” 表示結(jié)尾的字符只能是包含下劃線在內(nèi)的單詞字符,滿足了條件五;模板中間的 “(\w)+”滿足了條件四。 然后,我們就直接調(diào)用剛才的那個函數(shù)CheckExp("(\w)+[@]{1}(\w)+[.]{1} (\w)+",待校驗的字符串)就好了,如果返回True就表示數(shù)據(jù)是合法的,否則就是不正確的,怎么樣,簡單吧。我們還可以寫出來校驗身份證號碼的模板:"([0-9]) {15}";校驗URL的模板:"^http://{1}((\w)+[.]){1,3}"等等;我們可以看到,這些模板為我們提供了很好的可重利用的模塊,利用自己或者別人提供的各種模板,我們就可以方便快捷的進(jìn)行數(shù)據(jù)的合法性校驗了,相信你一定會寫出非常通用的模板的。 這樣,我們只要定制不同的模板,就可以實現(xiàn)對不同數(shù)據(jù)的合法性校驗了。所以,正則表達(dá)式對象中最重要的屬性就是:“Pattern”屬性,只要真正掌握了這個屬性,才可以自由的運用正則表達(dá)式對象來為我們的數(shù)據(jù)校驗進(jìn)行服務(wù)。 JavaS <script var //替換錯別字“終古”為“中國” //并返回替換后的新字符 //原字符串stringObj的值沒有改變 var alert(newstr); </script> |