版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Javascript正則表達(dá)式使用手冊一.正則表達(dá)式匹配常用語法“+字”符:規(guī)定表達(dá)式字符出現(xiàn)一次或多次。“*字”符:規(guī)定表達(dá)式字符出現(xiàn)零次或多次。“?字”符:規(guī)定表達(dá)式字符出現(xiàn)零次或一次。匹配的是字符的開頭,匹配的是一行的開頭$匹配的是字符的結(jié)尾 ,匹配的是一行的結(jié)尾\b匹配的是一個詞語的邊界 .簡而言之就是位于字符 \w和\w之間的位置(注意:[\b]匹配的是退格符\B匹配的是非詞語的邊界的字符[A-Z]匹配從A到Z范圍內(nèi)任何一個大寫字母。[a-z]匹配從a到z范圍內(nèi)任何一個小寫字母。[0-9]/匹配從0到9范圍內(nèi)任何一個數(shù)字。([a-z][A-Z][0-9]+匹配任何由字母和數(shù)字組成的字符串 ,如“aB0等”。\d匹配一個數(shù)字字符。等價于 [0-9]\D匹配一個非數(shù)字字符。等價于 [^0-9]\f匹配一個換頁符。等價于 \x0c和\cL\n匹配一個換行符。等價于 \x0a和\cJ\r匹配一個回車符。等價于 \x0d和\cM\s匹配任何空白字符,包括空格、制表符、換頁符等等 ,等價于[\f\n\r\t\v]\S:用于匹配除單個空格符之外的所有字符 ;\w匹配包括下劃線的任何單詞字符 ,等價[A-Za-z0-9_]\W匹配任何非單詞字符 ,等價于[^A-Za-z0-9_].字符串的Javascript正則表達(dá)式處理(1創(chuàng)建regularexpression有兩種方法,一種是直接使用字符串定義 ;另一種是使用ReqExp構(gòu)造函數(shù)創(chuàng)建。語法1:re=/pattern/[flags]語法2;re=newRegExp("pattern",["flags"]如果使用語法1,用"/"字符分隔模式。如果用語法2,用引號將模式引起來;如newRegExp("hello","g";Flags可選項,可以用以下參數(shù):g(全文查找出現(xiàn)的所有 pattern(忽略大小寫(多行查找例如:方法1:varpattern=/sS/;方法2:varpattern=newRegExp("sS";varzipcode=newReqExp("\\d{5}","g";//第一個變量是正則表達(dá)式 (//里的,第二個是用//來加i或g的。忽濾大小寫并搜索(2String對象常用方法search方法?!癑avaScript”.search(/script/i/;//這個方法返回值是4,也就是javascript第五個字母。開始值是0,所以是4。search方法指明是否存在相應(yīng)的匹配。如果找到一個匹配,search方法將返回一個整數(shù)值,從0開始,如果沒有找到匹配,則返回-1。functionSearchDemo({varr,re;//聲明變量。vars="TheraininSpainfallsmainlyintheplain.";re=/falls/i;//創(chuàng)建正則表達(dá)式模式。r=s.search(re;//查找字符串。return(r;//返回Boolean結(jié)果。18}replace方法第一個參數(shù)填正則表達(dá)式 ,第二個參數(shù)添加需要替換的字符串。vartext="Javaismylove,mybestloverisJava.";varresult=text.replace(/java/gi,"Bava";//i用來忽略大小寫,g用來搜索整個字//如果不用正則表達(dá)式,也可只用/g,則嚴(yán)格匹配,用replace(或/java/只替換第一個出現(xiàn)的字符(或字符串Match方法,作用:會返回一個數(shù)組,即與正則表達(dá)式相匹配的數(shù)組。text2="1plus2equals3";varresult2=text2.match(/\d+/g;alert(result2[0];//輸出1,result2的數(shù)組里是1,2,3,如果match方法沒有找到匹配,返回null。如果找到匹配返回一個數(shù)組并且更新全局RegExp對象的屬性以反映匹配結(jié)果。match方法返回的數(shù)組有三個屬性:input、index和lastIndex。Input屬性包含整個的被查找字符串。Index屬性包含了在整個被查找字符串中匹配的子字符串的位置。LastIndex屬性包含了最后一次匹配中最后一個字符的下一個位置。functionMatchDemo({varr,re;//聲明變量。vars="TheraininSpainfallsmainlyintheplain";re=/ain/ig;//創(chuàng)建正則表達(dá)式模式。沒有 g返回第一次出現(xiàn) "ain"的地方r=s.match(re;//嘗試去匹配搜索字符串。return(r;//返回的數(shù)組包含了所有 "ain",返回值:ain,ain,ain,ain出現(xiàn)的四個匹配。}注:即使text2執(zhí)行的不是全局收索(不加g,也會返回數(shù)組,這時的是第一個全比配值,之后是部分匹配。Split方法,作用:可以將123,456,789,0這樣的字符串分解成一個數(shù)組。text3="123,456,789,0";result3=text3.split(",";alert(result3[1];//返回456,當(dāng)然這個例子沒用正則表達(dá)式。(3exec,test方法的使用varpattern=/java/g;vartext="JavascriptismorefunthanJava!";varresult;while((result=pattern.exec(text!=null{alert("Matched'"+result[0]+"'"+"atposition"+result.index+";nextsearchbeginsat"+pattern.lastIndex;}varpattern=/java/i;pattern.test("JavaScript";//true,測試看是否有符合的,有就返回true。三.常用正則表達(dá)式匹配匹配中文字符:[u4e00-u9fa5]匹配雙字節(jié)字符(包括漢字在內(nèi):[^x00-xff],可以用來計算字符串的長度(一個雙字節(jié)字符長度計2,ASCII字符計1匹配空白行:ns*r,可以用來刪除空白行匹配HTML標(biāo)記:<(S*?[^>]*>.*?|<.*?/>匹配首尾空白字符:^s*|s*$,可以用來刪除行首行尾的空白字符(包括空格、制表符、換頁符等等匹配Email地址的:w+([-+.]w+*@w+([-.]w+*.w+([-.]w+*匹配網(wǎng)址URL:[a-zA-z]+://[^s]*匹配帳號是否合法(字母開頭,允許5-16字節(jié),允許字母數(shù)字下劃線:^[a-zA-Z][a-zA-Z0-9_]{4,15}$匹配國內(nèi)電話號碼:d{3}-d{8}|d{4}-d{7},匹配形式021-87888822匹配騰訊QQ號:[1-9][0-9]{4,},騰訊QQ號從10000開始匹配中國郵政編碼:[1-9]d{5}(?!d,中國郵政編碼為 6位數(shù)字匹配身份證:d{15}|d{18},中國的身份證為 15位或18位匹配ip地址:d+.d+.d+.d+,提取ip地址時有用匹配數(shù)字:^[1-9]d*$匹配正整數(shù)^-[1-9]d*$匹配負(fù)整數(shù)^-?[1-9]d*$匹配整數(shù)^[1-9]d*|0$匹配非負(fù)整數(shù)(正整數(shù)+0^-[1-9]d*|0$匹配非正整數(shù)(負(fù)整數(shù)+0^[1-9]d*.d*|0.d*[1-9]d*$匹配正浮點數(shù)^-([1-9]d*.d*|0.d*[1-9]d*$ 匹配負(fù)浮點數(shù)^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$匹配浮點數(shù)^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$匹配非負(fù)浮點數(shù)(正浮點數(shù)+0^(-([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$匹配非正浮點數(shù)(負(fù)浮點數(shù)+0匹配字符串:^[A-Za-z]+$匹配由26個英文字母組成的字符串^[A-Z]+$匹配由26個英文字母的大寫組成的字符串^[a-z]+$匹配由26個英文字母的小寫組成的字符串^[A-Za-z0-9]+$匹配由數(shù)字和26個英文字母組成的字符串^w+$匹配由數(shù)字、26個英文字母或者下劃線組成的字符串匹配驗證:只能輸入數(shù)字:“^[0-9]*$”只能輸入n位的數(shù)字:“^d{n}$”只能輸入至少n位數(shù)字:“^d{n,}$ ”只能輸入m-n位的數(shù)字:“^d{m,n}$”只能輸入零和非零開頭的數(shù)字 :“^(0|[1-9][0-9]*$”只能輸入有兩位小數(shù)的正實數(shù) :“^[0-9]+(.[0-9]{2}?$”只能輸入有1-3位小數(shù)的正實數(shù):“^[0-9]+(.[0-9]{1,3}?$ ”只能輸入非零的正整數(shù):“^+?[1-9][0-9]*$”只能輸入非零的負(fù)整數(shù):“-[1^-9][0-9]*$”只能輸入長度為 3的字符:“^.{3}$ ”只能輸入由26個英文字母組成的字符串 :“^[A-Za-z]+$”只能輸入由26個大寫英文字母組成的字符串 :“^[A-Z]+$”只能輸入由26個小寫英文字母組成的字符串 :“^[a-z]+$”只能輸入由數(shù)字和 26個英文字母組成的字符串 :“^[A-Za-z0-9]+$”只能輸入由數(shù)字、 26個英文字母或者下劃線組成的字符串 :“^w+$”驗證用戶密碼:“^[a-zA-Z]w{5,17}$”正確格式為:以字母開頭,長度在6-18之間,只能包含字符、數(shù)字和下劃線。驗證是否含有^%&’,;=?$等”字符:“[^%&',;=?$x22]+ ”只能輸入漢字:“^[u4e00-u9fa5],{0,}$ ”驗證Email地址:“^w+[-+.]w+*@w+([-.]w+*.w+([- .]w+*$”驗證InternetURL: “^http://([w-]+.+[w-]+(/[w-./?%&=]*?$”驗證電話號碼:“^((d{3,4}|d{3,4}-?d{7,8}$”正確格式為:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,“XXX-XXXXXXXX”, “XXXXXXX”, “XXXXXXXX?!彬炞C身份證號(15位或18位數(shù)字:“^d{15}|d{}18$ ”驗證一年的12個月:“^(0?[1-9]|1[0-2]$”正確格式為:“01-”“09和”“1”“驗12”證一個月的31天:“^((0?[1-9]|((1|2[
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美團(tuán)集團(tuán)員工培訓(xùn)制度
- 婦產(chǎn)科科室人員培訓(xùn)制度
- 高校教師培訓(xùn)規(guī)章制度
- 養(yǎng)生院培訓(xùn)考核制度
- 門診部護(hù)理教學(xué)培訓(xùn)制度
- 門診護(hù)士培訓(xùn)與考核制度
- 教職工傳染病防控培訓(xùn)制度
- 培訓(xùn)學(xué)校財務(wù)預(yù)決算制度
- 教育培訓(xùn)休復(fù)課制度
- 防治水安全培訓(xùn)制度
- 門店項目加盟協(xié)議書
- 視頻監(jiān)控系統(tǒng)安裝與維護(hù)合同
- 術(shù)后鎮(zhèn)痛的護(hù)理課件
- 生活化教學(xué)研究
- 交易賬戶托管協(xié)議書
- 公務(wù)接待培訓(xùn)課件
- 正步走教學(xué)課件
- 商砼站合伙投資協(xié)議書6篇
- 2024-2025學(xué)年浙江省杭州市余杭區(qū)五年級(上)期末數(shù)學(xué)試卷
- 化工廠危害因素識別及防范措施
- 桉樹無節(jié)材分等方法
評論
0/150
提交評論