[計算機]JavaScript正則表達式完全學習手冊_第1頁
[計算機]JavaScript正則表達式完全學習手冊_第2頁
[計算機]JavaScript正則表達式完全學習手冊_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、.JavaScript正則表達式:菜鳥入門指導第一節(jié):基礎(chǔ)學習想要高效地學習和掌握正則表達式的關(guān)鍵是花一天的時間記住所有符號。這可能是我所能提供的最好的建議。坐下來,做些記憶卡片,然后記住它們。以下為最常見的一些符號:. - 匹配任意字符,換行符除外* - 該符號前面的字符,匹配 0 次或多次。+ - 該符號前面的字符,匹配 1次或多次? - 該符號前面的字符是可選的。匹配 0 次或 1 次。d - 匹配任何單個數(shù)字。w - 匹配任何一個字符(包括字母數(shù)字以及下劃線)。XYZ - 匹配字符組中的任意一個字符,即 X、Y、Z 中的任意一個。XYZ+ - 匹配字符組中的一個或多個字符。$ - 匹配

2、字符串結(jié)束的位置。 - 匹配字符串開始的位置。a-z - 當出現(xiàn)在字符類中時, 表示 NOT(非);對于該示例,表示匹配任何非小寫字母。 很悶吧,不過還是記住它們,記住之后你會知道好處的。第二節(jié):正則表達式和 JavaScript本節(jié)為最后一節(jié),我們來看看JavaScript 方法如何使用正則表達式。1. Test()這個方法接受單個字符串參數(shù),然后返回一個布爾值,該值表明是否找到一個滿足條件的值。如果你不需要對特定的匹配結(jié)果進行操作,比如,驗證用戶名,“test”方法已足夠完成這個任務(wù)。示例varusername=JohnSmith; alert(/A-Za-z_-+/.test(usern

3、ame);/returnstrue在上面的代碼中,我們首先聲明一個正則表達式,表示僅允許大寫或小寫字母、下劃線和連字符。將這些可接受的字符放在括號中,就指定了一個字符組。緊隨其后的 + 號表示我們想要正在尋找的是一個或多個前述字符組中的字符。然后使用該范式對變量“JohnSmith”進行測試。由于存在匹配,瀏覽器的顯示框中將顯示 true。2. Split()你可能對 split 方法已經(jīng)很熟了。該方法接受單個正規(guī)表達式,表示在哪里進行“分割”。請注意,如果喜歡,你還可以使用字符串。varstr=thisismystring; alert(str.split(/s/);/輸出this,is,m

4、y,string上面代碼中的 s 表示單個空格,通過它,我們將字符串分割為一個數(shù)組。如果想要訪問某個特定的值,使用相應(yīng)的索引即可。varstr=thisismythisstring; alert(str.split(/s/)4);/輸出string3. replace()可能你已經(jīng)想到了,replace 方法可以用來將文本中的一部分(由字符串或正則表達式表示)替換為不同的字符串。示例如果想要將“Hello, World”改為“Hello, Universe”,可以使用下面的代碼:varsomeString=Hello,World; someString=someString.replace(/

5、World/,Universe); alert(someString);/輸出Hello,Universe應(yīng)留意的是,對于這個簡單的示例,我們本來可以簡單的使用.replace(World, Universe)。另外,使用 replace 方法不會自動重寫變量的值,我們必須將返回值再次分配給這個變量:someString。示例 2再舉一個例子,假設(shè)用戶要在我們的網(wǎng)站注冊一個賬號,我們可能想要提供一些基礎(chǔ)的安全預(yù)防措施。也許我們想要留下他們的用戶名,而刪除其他任何符號,引號、分號等等。對于 JavaScript 和正則表達式,執(zhí)行這類任務(wù)是樁瑣碎的小事情。varusername=J;ohnSmi

6、th;%; username=username.replace(/A-Za-zd_-+/,); alert(username);/輸出;%看到最后生成的顯示值,有人可能會想,上面的代碼有錯誤。事實并非如此。你仔細看看,會發(fā)現(xiàn)字母“J”后的分號被刪除了,正如我們所期望的那樣。為了通知引擎繼續(xù)搜索字符串查找更多匹配,我們可以做結(jié)束的斜杠后面直接添加一個“g”,這個修飾符或標記表示“global(全局)”。修改后的代碼如下所示:varusername=J;ohnSmith;%; username=username.replace(/A-Za-zd_-+/g,); alert(username);/輸

7、出JohnSmith現(xiàn)在,正則表達式搜索整個字符串,替換所有必要的字符。讓我們看看關(guān)鍵的表達式(.replace(/A-Za-zd_-+/g, );),要注意,括號內(nèi)的向上箭頭(即 )非常重要。當放在字符組中時,該符號表示“找到所有不是”?,F(xiàn)在回頭在看看這個代碼,它表示,找到所有不是字母、數(shù)字(由 d 表示)、下劃線或連字符的符號;如果找到一個匹配,將其替換為空,事實上就是刪除該字符。4. Match()與test方法不同,match() 返回一個包含所有找到的滿足條件的數(shù)組。示例varname=JeffreyWay; alert(name.match(/e/);/輸出e上面的代碼將顯示一個字

8、母“e”。但是,在字符串“JeffreyWay”中實際上包含2個 e。同樣,這次我們還是要使用修飾符“g”來聲明一個全局搜索。varname=JeffreyWay; alert(name.match(/e/g);/輸出e,e如果想要顯示數(shù)組中這些特定值中的一個,可以做括號中引用想要的索引。varname=JeffreyWay; alert(name.match(/e/g)1);/輸出e示例 2讓我們看下一個示例,確保我們對它的理解是正確的。varstring=Thisisjustastringwithsome12345andsome!#$mixedin.; alert(string.match(/a-z+/gi);/輸出This,is,just,a,string,with,some,and,some,mixed,in在這個正則表達式中,我們創(chuàng)建了一個范式,可匹配一個或多個大寫或小寫字母。這多虧了“i”修飾符。除外,我們還加上了“g”來聲明進行全局搜索。上面的代碼將顯示“This,is,just,a,string,with,some,and,some,mixed,in.”然后,如果想要獲取變量數(shù)組中這些值中的某一個,我們只需引用相應(yīng)的索引即可。varstring=Thisisjustastringwith

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論