今天和大家分享一些關(guān)于正則表達(dá)式的知識(shí)和在javascript中的應(yīng)用。正則表達(dá)式簡(jiǎn)單卻又不簡(jiǎn)單,比如以前我的老師給我們講的時(shí)候就說(shuō)這個(gè)東西入門(mén)的話二三十分鐘就精通了,一旦沒(méi)有入門(mén)那就可幾天都補(bǔ)不回來(lái)。于是當(dāng)初就很認(rèn)真的學(xué)習(xí)并研究了它。沒(méi)想到正則表達(dá)式不僅代碼簡(jiǎn)潔,而且在實(shí)際的操作中為前端工程師們省事了不少。總所周知,用戶在瀏覽頁(yè)面的時(shí)候,唯一和數(shù)據(jù)打交道的就是表單了,關(guān)于表單的驗(yàn)證,其實(shí)有很多中方法,接下來(lái),我就會(huì)給大家分享兩種,一種是普通繁瑣的方法,一種是正則表達(dá)式,看看它到底能夠給表單帶來(lái)什么樣的效果吧。
首先來(lái)看一下普通版的:
個(gè)人感覺(jué)方法太土了,這是剛開(kāi)始學(xué)習(xí)的時(shí)候做的簡(jiǎn)單表單效果,沒(méi)有加CSS樣式表。
再看一下升級(jí)版的正則表達(dá)式:
接下來(lái)一起了解一下正則表達(dá)式吧。
正則表達(dá)式是一個(gè)描述字符模式的對(duì)象又稱正規(guī)表示法、常規(guī)表示法
正則表達(dá)式使用單個(gè)字符串來(lái)描述、匹配一系列符合某個(gè)句法規(guī)則的字符串。在很多文本編輯器里,正則表達(dá)式通常被用來(lái)檢索、替換那些符合某個(gè)模式的文本。
正則表達(dá)式的特點(diǎn)是: 1.靈活性、邏輯性和功能性非常的強(qiáng); 2.可以迅速地用極簡(jiǎn)單的方式達(dá)到字符串的復(fù)雜控制。 3.對(duì)于剛接觸的人來(lái)說(shuō),比較晦澀難懂。
定義正則表達(dá)式 1:普通方式 varreg=/表達(dá)式/附加參數(shù) reg.test(v.value)
2:構(gòu)造函數(shù)方式 var reg=new RegExp("表達(dá)式","附加參數(shù)) var reg=new RegExp("china");
表達(dá)式的模式 1:簡(jiǎn)單模式 var reg=/china/; 2:符合模式 var reg=/^\w+$/; var reg=/^\w+@\w+.[a-zA-Z]{2,3}(.[a-zA-Z]{2,3})?$/;
RegExp對(duì)象的方法 exec檢索字符中是正則表達(dá)式的區(qū)配,返回找到的值,并確定其位置 test檢索字符串中指定的值,返回true或false exec方法:如果未找到匹配,則返回值為 null;如果找到了匹配,則返回一個(gè)結(jié)果數(shù)組, /…/代表一個(gè)模式的開(kāi)始和結(jié)束 ^匹配字符串的開(kāi)始 $匹配字符串的結(jié)束 \s任何空白字符 \S任何非空白字符 \d匹配一個(gè)數(shù)字字符,等價(jià)于[0-9] \D除了數(shù)字之外的任何字符,等價(jià)于[^0-9] \w匹配一個(gè)數(shù)字、下劃線或字母字符,等價(jià)于[A-Za-z0-9_] \W任何非單字字符,等價(jià)于[^a-zA-z0-9_] .除了換行符之外的任意字符
{n}匹配前一項(xiàng)n次 {n,}匹配前一項(xiàng)n次,或者多次 {n,m}匹配前一項(xiàng)至少n次,但是不能超過(guò)m次 *匹配前一項(xiàng)0次或多次,等價(jià)于{0,} +匹配前一項(xiàng)1次或多次,等價(jià)于{1,} ?匹配前一項(xiàng)0次或1次,也就是說(shuō)前一項(xiàng)是可選的,等價(jià)于{0,1}
x|y 匹配x或y。
例如,“z|food”能匹配“z”或“food”?!?z|f)ood”則匹配“zood”或“food”。 [xyz] 字符集合。匹配所包含的任意一個(gè)字符。例如,“[abc]”可以匹配“plain”中的“a”。 [a-z] 字符范圍。匹配指定范圍內(nèi)的任意字符。例如,“[a-z]”可以匹配“a”到“z”范圍內(nèi)的任意小寫(xiě)字母字符。注意:只有連字符在字符組內(nèi)部時(shí),并且出現(xiàn)在兩個(gè)字符之間時(shí),才能表示字符的范圍; 如果出字符組的開(kāi)頭,則只能表示連字符本身. (pattern) 匹配pattern并獲取這一匹配。所獲取的匹配可以從產(chǎn)生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中則使用$0…$9屬性。要匹配圓括號(hào)字符,請(qǐng)使用“\(”或“\)”。
您可能感興趣的文章:- javascript表單正則應(yīng)用
- JS 正則表達(dá)式中小括號(hào)的應(yīng)用
- JS應(yīng)用正則表達(dá)式轉(zhuǎn)換大小寫(xiě)示例
- JavaScript 正則表達(dá)式之RegExp屬性、方法及應(yīng)用分析
- js replace正則表達(dá)式應(yīng)用案例講解
- JScript中正則表達(dá)函數(shù)的說(shuō)明與應(yīng)用
- JavaScript正則表達(dá)式校驗(yàn)與遞歸函數(shù)實(shí)際應(yīng)用實(shí)例解析
- javascript中正則表達(dá)式反向引用示例介紹
- JavaScript正則表達(dá)式之后向引用實(shí)例代碼
- 詳解JavaScript正則表達(dá)式之分組匹配及反向引用
- AS3 js正則表達(dá)式 反向引用(backreference)
- JavaScript 正則應(yīng)用詳解【模式、欲查、反向引用等】