版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第5章正則表達式回顧回顧通過創(chuàng)建通過創(chuàng)建DateDate對象,可以獲取計算機中的時間。對象,可以獲取計算機中的時間。在本地創(chuàng)建在本地創(chuàng)建ImageImage對象,可以實現(xiàn)圖像緩沖技術。對象,可以實現(xiàn)圖像緩沖技術。使用使用MathMath對象進行數(shù)學運算。對象進行數(shù)學運算。用數(shù)組列表或者用數(shù)組列表或者ArrayArray對象創(chuàng)建數(shù)組后,可以使用對象創(chuàng)建數(shù)組后,可以使用“數(shù)組變量名數(shù)組變量名 索引號索引號”的格式來訪問每個數(shù)組元素。的格式來訪問每個數(shù)組元素。StringString對象常用的屬性:對象常用的屬性:lengthlength,獲取字符串的字符個數(shù)。常用,獲取字符串的字符個數(shù)。常用的方法
2、:的方法: charAtcharAt()():返回字符串對象中指定索引處的字符;:返回字符串對象中指定索引處的字符; indexOfindexOf()():返回某個子字符串在目標字符串中首次出現(xiàn)的位:返回某個子字符串在目標字符串中首次出現(xiàn)的位置;置; substrsubstr()():從指定索引位置開始截取指定長度的字符串;:從指定索引位置開始截取指定長度的字符串; substringsubstring:返回指定索引范圍內(nèi)的字符串。:返回指定索引范圍內(nèi)的字符串。理論內(nèi)容理論內(nèi)容正則表達式及其作用正則表達式及其作用RegExpRegExp對象對象正則表達式的元字符正則表達式的元字符StringS
3、tring對象與正則表達式對象與正則表達式正則表達式驗證表單正則表達式驗證表單我們已經(jīng)接觸過與正則表達式有關的一些概念。例如在我們已經(jīng)接觸過與正則表達式有關的一些概念。例如在Windows操作系統(tǒng)中,用操作系統(tǒng)中,用“?”和和“* *”通配符來查找硬盤上的文件時,通配符來查找硬盤上的文件時,“?”?”通配符匹配文件名中的單個字符,而通配符匹配文件名中的單個字符,而“* *”通配符匹配零個通配符匹配零個或多個字符。如或多個字符。如“data?.dat”就是一種文本模式,它能匹配就是一種文本模式,它能匹配“data1.dat”、“datan.dat”和和“dataw.dat”?!癲ata*.da”
4、是是另外一種文本模式,它匹配另外一種文本模式,它匹配“data.dat”t”、“data1.dat”、“datawnc.dat”和和“datadiff.dat”等文件名。等文件名。正則表達式的功能和概念類似于正則表達式的功能和概念類似于“* *”和和“?”?”通配符所實現(xiàn)的功通配符所實現(xiàn)的功能和概念,但它的功能更強大,而且更加靈活。能和概念,但它的功能更強大,而且更加靈活。5.1 正則表達式及其作用正則表達式及其作用創(chuàng)建創(chuàng)建RegExp對象實例的兩種方式:對象實例的兩種方式: (1)構(gòu)造函數(shù)方式)構(gòu)造函數(shù)方式 var reg=new RegExp(“表達式”,“附加參數(shù)”); (2 2)普通方
5、式)普通方式 var reg=/表達式/附加參數(shù) 附加參數(shù)是可選的,用來擴展正則表達式的含義,主要有三個參數(shù): (1)g:全局匹配。 (2)i:用作忽略大小寫的參數(shù)。 (3)m:多行匹配。 5.2 RegExp對象對象test方法方法 該方法檢查一個字符串中是否存在創(chuàng)建RegExp對象實例時所指定的正則表達式模式,如果存在則返回true,否則返回false。5.2 RegExp對象對象regExpObject.test(string);檢查字符串中是否存在檢查字符串中是否存在“world”。5.2 RegExp對象對象 var str=hello world; var regExp=new R
6、egExp(world); var result=regExp.test(str); document.write(result); /true 調(diào)用調(diào)用RegExp()RegExp()的構(gòu)造函數(shù)創(chuàng)建正則表達式對象的構(gòu)造函數(shù)創(chuàng)建正則表達式對象regExpregExp。調(diào)用正則表達式對象的調(diào)用正則表達式對象的test()test()方法檢查目標字符串方法檢查目標字符串strstr中中是否包含模式是否包含模式worldworld。如果在。如果在strstr中查找到模式中查找到模式worldworld,在,在頁面上輸出頁面上輸出test()test()的返回值的返回值truetrue,否則輸出返回值
7、,否則輸出返回值falsefalse。檢查字符串中是否存在檢查字符串中是否存在“world”,并忽略大小寫。,并忽略大小寫。5.2 RegExp對象對象 var str=HELLO WORLD; var regExp=/world/i; var result=regExp.test(str); document.write(result); /true 將正則表達式將正則表達式/world/i/world/i賦給變量賦給變量regExp,regExp,這是用普這是用普通方式創(chuàng)建正則表達式對象,附加參數(shù)通方式創(chuàng)建正則表達式對象,附加參數(shù)i i表示忽略表示忽略worldworld的大小寫,所以在用
8、正則表達式對象的的大小寫,所以在用正則表達式對象的testtest方法檢查方法檢查“HELLO WORLD”HELLO WORLD”中是否存在中是否存在“world”world”模模式時,返回值是式時,返回值是truetrue。exec方法方法 exec方法使用RegExp對象實例創(chuàng)建時指定的正則表達式模式搜索字符串,并返回一個包含搜索結(jié)果的數(shù)組。5.2 RegExp對象對象regExpObject.exec(string);在在“我愛祖國我愛家鄉(xiāng)我愛祖國我愛家鄉(xiāng)”中搜索中搜索“我我”,并輸出,并輸出“我我”在被搜索的字在被搜索的字符串中的位置。符串中的位置。5.2 RegExp對象對象 va
9、r str=我愛祖國我愛家鄉(xiāng); var regExp=/我/; var result=regExp.exec(str); document.write(在索引+result.index+位置出現(xiàn)了+result); exec方法返回的數(shù)組有index屬性,它表示匹配的字符串在整個被搜索字符串中的位置;exec方法每次從字符串的起始位置搜索第一個與模式匹配的字符串。限定符限定符 n:規(guī)定前面的元素或組合項要連續(xù)出現(xiàn)n次。5.3 正則表達式的元字符正則表達式的元字符var regExp=/he2/; var str=heeel;var flag= regExp.test(str)document.
10、write(flag); 執(zhí)行代碼后,在頁面上輸出true,因為在字符串“heeel”中,存在he2文本模式。如果要讓正則表達式“he2”中的“he”同時受到2的作用,必須使用圓括號將它們括起來,使它們成為一個緊密結(jié)合的組合項,這樣2就表示圓括號中的內(nèi)容連續(xù)出現(xiàn)2次。限定符限定符 (1)n:規(guī)定前面的元素或組合項要連續(xù)出現(xiàn)n次。5.3 正則表達式的元字符正則表達式的元字符var regExp=/(he)2/;var str=heeel;var flag= regExp.test(str)document.write(flag); /false 字符串“ehehel”是否存在(he)2的文本模式
11、?限定符限定符 (2)n,:規(guī)定前面的元素或組合項至少出現(xiàn)n次。例如“o2,”,字符串“bod”不能與之匹配,但“foood”可以與之匹配。 (3)n,m:規(guī)定前面的元素或組合項至少連續(xù)出現(xiàn)n次,至多連續(xù)出現(xiàn)m次,其中nm,逗號和數(shù)字之間不能有空格。例如“o1,3”,字符串“food”和字符串“foood”都能與之匹配。 (4)+:規(guī)定前面的元素或組合項必須出現(xiàn)一次或連續(xù)出現(xiàn)多次,等效于1,。 (5)*:規(guī)定前面的元素或組合項可以出現(xiàn)零次或連續(xù)多次,等效于0,。例如“zo*”,字符串“z”和“zoo”都能與之匹配。 (6)?:規(guī)定前面的元素或組合項出現(xiàn)零次或一次,等效于0,1。例如“zo?”,
12、字符串“z”和“zo”都能與之匹配。5.3 正則表達式的元字符正則表達式的元字符選擇匹配符選擇匹配符 選擇匹配符有且僅有一個,即“|”字符,用于選擇匹配兩個選項之中的任意一個。例如“chapter|section1”匹配的是“chapter”或“section1”,如果要匹配“chapter1”或“section1”,使用括號,即“(chapter|section)1”。5.3 正則表達式的元字符正則表達式的元字符字符匹配符字符匹配符 (1):匹配方括號中包含的字符集中的任意一個字符。例如,正則表達式“abc”,字符“a”、“b”、“c”都可以與之匹配。 (2):匹配方括號中未包含的任何字符。
13、例如,正則表達式“ab”,除了字符“a”、“b”之外,其他的任何字符都可以與之匹配。 (3)a-z,1-9:匹配指定范圍內(nèi)的任何字符。 (4)a-z,1-9:匹配不在指定的范圍內(nèi)的任何字符。 (5)d:匹配任意一個數(shù)字字符,等效于0-9。 (6)D:匹配任意一個非數(shù)字字符,等效于0-9。 (7)s:匹配任何空白字符,包括空格、制表符等。 (8)S:匹配任何非空白字符。 (9)w:匹配任何英文字母、數(shù)字和下劃線,等效于A-Za-z0-9_。 (10)W:匹配任何非英文字母和數(shù)字類字符,但不包括下劃線,等效于A-Za-z0-9_。 (11).:匹配除換行符n之外的任何單字符。5.3 正則表達式的元
14、字符正則表達式的元字符常用的正則表達式常用的正則表達式 1匹配身份證號碼:d15$|d18$ 2郵箱:w+w+.a-zA-Z2,3(.a-zA-Z2,3)?$; 3中國的郵政編碼:d6$ 4匹配字符串中的中文字符:u4e00-u9fa5 5驗證5到12位的qq號:d5,12$5.3 正則表達式的元字符正則表達式的元字符5.4 String對象與正則表達式對象與正則表達式n 1. match方法方法n String對象的match方法作用與RegExp對象的exec方法類似,它使用正則表達式模式對字符串進行搜索,并返回一個包含搜索結(jié)果的數(shù)組,傳遞給match方法的參數(shù)是一個RegExp對象實例,
15、即使用正則表達式作為match方法的參數(shù)去搜索字符串;而傳遞給exec方法的參數(shù)是一個String類型的對象實例,即使用正則表達式對象去搜索作為exec方法參數(shù)的字符串。array=stringObj.match(regExpObject);要求在一句英文中,搜索以要求在一句英文中,搜索以“th”開頭的四個字符的單詞,忽略大小開頭的四個字符的單詞,忽略大小寫。寫。5.4 String對象與正則表達式對象與正則表達式 var str=This is a dog,that is a cat; var regExp=/tha-z2/gi; var arr=str.match(regExp); doc
16、ument.write(arr); (1)正則表達式/tha-z2/gi的作用是全局匹配以th開頭的4個字符,i表示不區(qū)分大小寫。(2)match()方法使用正則表達式模式對字符串進行搜索,如果在字符串中沒有搜索到匹配正則表達式模式的內(nèi)容,則此方法返回值是null。5.4 String對象與正則表達式對象與正則表達式n 2. search方法方法n search方法利用使用正則表達式搜索,返回的是第一個匹配到的字符串在整個被搜索的字符串中的位置。如果沒有找到匹配的子串則返回-1。如果是簡單的搜索,可以用String對象的indexOf()方法。但對于較為復雜的模式匹配則需要使用search()
17、方法。index=stringObj.search(regExpObject);要求在一句英文中,搜索以要求在一句英文中,搜索以“th”開頭,且有四個字符的單詞在句子開頭,且有四個字符的單詞在句子中的位置,忽略大小寫。中的位置,忽略大小寫。5.4 String對象與正則表達式對象與正則表達式 var str=This is a dog,that is a cat; var regExp=/tha-z2/i; var index=str.search(regExp); document.write(index); 5.4 String對象與正則表達式對象與正則表達式n 3. replace方法方
18、法n replace方法使用正則表達式模式對字符串執(zhí)行搜索,并對搜索到的內(nèi)容用指定的字符串替換,返回值為包含替換后的內(nèi)容的字符串對象。var newStr= stringObj.replace(regExpObject);要求刪除用戶輸入中不必要的空格和要求刪除用戶輸入中不必要的空格和“.”.”。5.4 String對象與正則表達式對象與正則表達式function checkInfo() var str=document.getElementById(info).value; var regExp=/. /g; document.getElementById(info).value=str.r
19、eplace(regExp,); (1 1)參數(shù))參數(shù)g g用于全局替換,即所有找到的匹配都將被用于全局替換,即所有找到的匹配都將被替換。替換。(2 2)在正則表達式中,)在正則表達式中,“.”.”是元字符,匹配除換行是元字符,匹配除換行符符“n”n”之外的任何單字符,若要匹配之外的任何單字符,若要匹配“.”.”字符本字符本身,需要使用身,需要使用“.”.”。對注冊頁面進行格式的驗證。對注冊頁面進行格式的驗證。5.5 使用正則表達式驗證表單使用正則表達式驗證表單5.5 使用正則表達式驗證表單使用正則表達式驗證表單function checkName() /驗證用戶名var name=$(txt
20、Name).value;var name_prompt=$(span_name);var nameReg=/a-zA-Za-zA-Z0-93,15$/;if(!nameReg.test(name)name_prompt.innerHTML=錯誤,英文字母和數(shù)字組成的4-16位字符,以字母開頭;return false;name_prompt.innerHTML=格式正確;return true;5.5 使用正則表達式驗證表單使用正則表達式驗證表單function checkNick()/驗證昵稱var nick=$(txtNick).value;var nick_prompt=$(span_n
21、ick);var nickReg=/u4e00-u9fa52,6$/;if(!nickReg.test(nick)nick_prompt.innerHTML=錯誤,由26個漢字組成;return false;nick_prompt.innerHTML=格式正確;return true;5.5 使用正則表達式驗證表單使用正則表達式驗證表單function checkEmail() /驗證郵箱 var email=$(txtEmail).value; var email_prompt=$(span_email); var emailReg=/w+w+(.a-zA-Z2,3)1,2$/;if(!em
22、ailReg.test(email)email_prompt.innerHTML=錯誤,如或者;return false;email_prompt.innerHTML=格式正確;return true; 5.5 使用正則表達式驗證表單使用正則表達式驗證表單function checkPwd()/驗證密碼var pwd=$(txtPwd).value;var pwd_prompt=$(span_pwd); var pwdReg=/a-zA-Z0-94,10$/;if(!pwdReg.test(pwd)pwd_prompt.innerHTML=錯誤,由英文字母和數(shù)字組成的410位字符;return
23、 false;pwd_prompt.innerHTML=格式正確;return true;5.5 使用正則表達式驗證表單使用正則表達式驗證表單function checkConfirmPwd() /驗證兩次輸入的密碼是否一致var confirmPwd=$(txtConfirmPwd).value;var pwd=$(txtPwd).value;var confirmPwd_prompt=$(span_confirmPwd);if(pwd!=confirmPwd)confirmPwd_prompt.innerHTML=錯誤,兩次輸入的密碼不一致;return false;confirmPwd_
24、prompt.innerHTML=密碼正確;return true;5.5 使用正則表達式驗證表單使用正則表達式驗證表單 function checkPhone() /驗證手機號碼var phone=$(txtPhone).value;var phone_prompt=$(span_phone); var phoneReg=/(13|15|18)d9$/;if(!phoneReg.test(phone)phone_prompt.innerHTML=錯誤,手機號由11位數(shù)字組成,且以13開頭;return false;phone_prompt.innerHTML=格式正確;return true;5.5 使用正則表達式驗證表單使用正則表達式驗證表單function checkBornDate() /驗證出生日期var bornDate=$(txtBornDate).value;var born_prompt=$(span_Born); var bornReg=/(19d2)|(200d)-(0?1-9|10-2)-(0?1-9|1-2d|30-1)$/;if(!bornReg.test(bornDate)born_promp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年三季度報天津地區(qū)A股資產(chǎn)總計排名前十大上市公司
- 課題申報參考:家庭與政府養(yǎng)老互動視角下養(yǎng)老保險改革的經(jīng)濟影響與政策優(yōu)化研究
- 2025年兩個責任學習心得樣本(4篇)
- 基于2025年度標準的智能交通系統(tǒng)設計與施工勞務分包合同
- 2025年個人數(shù)據(jù)安全保密與風險評估合同3篇
- 二零二五版網(wǎng)絡安全評估與整改服務合同2篇
- 基于2025年度市場預測的商品銷售框架協(xié)議3篇
- 2024系統(tǒng)采購合同
- 2024珠寶玉器買賣合同
- 2025版酒店客房裝修與綠色環(huán)保材料使用合同3篇
- 不同茶葉的沖泡方法
- 光伏發(fā)電并網(wǎng)申辦具體流程
- 建筑勞務專業(yè)分包合同范本(2025年)
- 企業(yè)融資報告特斯拉成功案例分享
- 五年(2020-2024)高考地理真題分類匯編(全國版)專題12區(qū)域發(fā)展解析版
- 《阻燃材料與技術》課件 第8講 阻燃木質(zhì)材料
- 低空經(jīng)濟的社會接受度與倫理問題分析
- 法考客觀題歷年真題及答案解析卷一(第1套)
- 央國企信創(chuàng)白皮書 -基于信創(chuàng)體系的數(shù)字化轉(zhuǎn)型
- 6第六章 社會契約論.電子教案教學課件
- 運動技能學習與控制課件
評論
0/150
提交評論