第3章 JavaScript對(duì)象編程_第1頁(yè)
第3章 JavaScript對(duì)象編程_第2頁(yè)
第3章 JavaScript對(duì)象編程_第3頁(yè)
第3章 JavaScript對(duì)象編程_第4頁(yè)
第3章 JavaScript對(duì)象編程_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第3章JavaScript對(duì)象編程學(xué)會(huì)使用Date對(duì)象學(xué)會(huì)使用Math對(duì)象學(xué)會(huì)使用數(shù)組對(duì)象學(xué)會(huì)使用字符串對(duì)象學(xué)會(huì)使用正則表達(dá)式對(duì)象學(xué)習(xí)目標(biāo)本章任務(wù)任務(wù)一:制作動(dòng)態(tài)時(shí)鐘效果任務(wù)二:制作隨機(jī)選號(hào)頁(yè)面本章任務(wù)任務(wù)三:制作簡(jiǎn)單的焦點(diǎn)圖效果任務(wù)四:驗(yàn)證注冊(cè)頁(yè)面信息本章任務(wù)任務(wù)五:使用正則表達(dá)式驗(yàn)證注冊(cè)頁(yè)面信息什么是對(duì)象屬性HeightSexAgeCareer……方法Eat()Speak()Breath()Think()Sleep()……屬性bgColorLocationCookieHeight……方法Open()Close()Focus()Write()……什么是對(duì)象對(duì)象由兩部分組成:一組包含各種類型數(shù)據(jù)的屬性對(duì)屬性中的數(shù)據(jù)進(jìn)行操作的方法JavaScript的對(duì)象JavaScript支持的對(duì)象包括以下幾種:內(nèi)置對(duì)象Date、Math、String、Array、Number等瀏覽器對(duì)象Window、Location、History、Navigator、Screen、Document、Frame等自定義對(duì)象任務(wù)1:在頁(yè)面動(dòng)態(tài)顯示系統(tǒng)時(shí)間任務(wù)描述:

在“我的博客”首頁(yè)動(dòng)態(tài)顯示客戶端系統(tǒng)時(shí)間。任務(wù)分析:在頁(yè)面動(dòng)態(tài)顯示系統(tǒng)時(shí)間,可以采用以下步驟:1.完成靜態(tài)頁(yè)面設(shè)計(jì),標(biāo)識(shí)要顯示系統(tǒng)時(shí)間的位置,此例已完成該步驟。2.定義函數(shù),使用日期和時(shí)間對(duì)象,獲取客戶端系統(tǒng)時(shí)間。3.為id為time的標(biāo)簽賦值。4.使用定時(shí)函數(shù),每隔一秒重新調(diào)用一次函數(shù)。時(shí)鐘顯示如何實(shí)現(xiàn)如時(shí)鐘效果?由于涉及到時(shí)間的顯示問(wèn)題,所以要用到日期對(duì)象Date。Date對(duì)象var日期對(duì)象=newDate(年、月、日等參數(shù))首先創(chuàng)建對(duì)象實(shí)例:

var日期對(duì)象=newDate()var日期對(duì)象=newDate(毫秒數(shù))var日期對(duì)象=newDate(字符串)Date對(duì)象存儲(chǔ)的日期為自1970年1月1日

00:00:00以來(lái)的毫秒數(shù)例如:varmydate=newDate("July29,2007,10:30:00")document.write(mydate);var日期對(duì)象=newDate()無(wú)參數(shù)表示當(dāng)前日期和時(shí)間varmydate=newDate()document.write(mydate);例如:varmydate=newDate(3580)document.write(mydate);時(shí)間標(biāo)準(zhǔn)UTC:全球標(biāo)準(zhǔn)時(shí)間(CoordinatedUniversalTime),由世界時(shí)間標(biāo)準(zhǔn)設(shè)定的時(shí)間,原先也被稱為格林威治標(biāo)準(zhǔn)時(shí)間(GMT)。

UTC+800:UTC是零時(shí)區(qū),即格林威治標(biāo)準(zhǔn)時(shí)間;800的含義是8:00即8個(gè)小時(shí)0分;UTC+800是指比格林威治標(biāo)準(zhǔn)時(shí)間提前8個(gè)小時(shí),應(yīng)當(dāng)是東八區(qū)的時(shí)間,也就是北京時(shí)間。var日期對(duì)象=newDate()無(wú)參數(shù)表示當(dāng)前日期和時(shí)間varmydate=newDate(2011,3,20,6,7,8)document.write(mydate);Date對(duì)象的方法Data方法的分組:方法分組說(shuō)明setxxx這些方法用于設(shè)置時(shí)間和日期值getxxx這些方法用于獲取時(shí)間和日期值Toxxx這些方法用于從Date對(duì)象返回字符串值parsexxx&UTCxx這些方法用于解析字符串Date對(duì)象方法的參數(shù)用作Date方法的參數(shù)的整數(shù):值整數(shù)Seconds和minutes0至59Hours0至23Day0至6(星期幾)Date1至31(月份中的天數(shù))Months0至11(一月至十二月)Date對(duì)象方法Set方法:方法說(shuō)明setDate設(shè)置Date對(duì)象中月份中的天數(shù),其值介于1至31之間。setHours設(shè)置Date對(duì)象中的小時(shí)數(shù),其值介于0至23之間。setMinutes設(shè)置Date對(duì)象中的分鐘數(shù),其值介于0至59之間。setSeconds設(shè)置Date對(duì)象中的秒數(shù),其值介于0至59之間。setTime設(shè)置Date對(duì)象中的時(shí)間值。setMonth設(shè)置Date對(duì)象中的月份,其值介于1至12之間。Date對(duì)象方法Get方法:方法說(shuō)明getDate返回Date對(duì)象中月份中的天數(shù),其值介于1至31之間getDay返回Date對(duì)象中的星期幾,其值介于0至6之間getHours返回Date對(duì)象中的小時(shí)數(shù),其值介于0至23之間getMinutes返回Date對(duì)象中的分鐘數(shù),其值介于0至59之間getSeconds返回Date對(duì)象中的秒數(shù),其值介于0至59之間getMonth返回Date對(duì)象中的月份,其值介于0至11之間getFullYear返回Date對(duì)象中的年份,其值為四位數(shù)getTime返回自某一時(shí)刻(1970年1月1日)以來(lái)的毫秒數(shù)Date對(duì)象方法方法說(shuō)明ToGMTString使用格林尼治標(biāo)準(zhǔn)時(shí)間(GMT)數(shù)據(jù)格式將Date對(duì)象轉(zhuǎn)換成字符串表示ToLocaleString使用當(dāng)?shù)貢r(shí)間格式將Date對(duì)象轉(zhuǎn)換成字符串表示To方法:Parse方法和UTC方法方法說(shuō)明Date.parse(datestring)用日期字符串表示自1970年1月1日以來(lái)的毫秒數(shù)Date.UTC(year,month,day,hours,min.,secs.)Date對(duì)象中自1970年1月1日以來(lái)的毫秒數(shù)Date對(duì)象做時(shí)鐘顯示<SCRIPTlanguage="javaScript">functiondisptime(){varnow=newDate();varhour=now.getHours();if(hour>=0&&hour<=12)document.write("<H2>上午好!</H2>")if(hour>12&&hour<=18)document.write("<H2>下午好!</H2>");if(hour>18&&hour<24)document.write("<H2>晚上好!</H2>");document.write("<H2>今天日期:"+now.getYear()+"年"+(now.getMonth()+1)+"月"+now.getDate()+"日</H2>");document.write("<H2>現(xiàn)在時(shí)間:"+now.getHours()+"點(diǎn)"+now.getMinutes()+"分</H2>");}</SCRIPT><BODYonload="disptime()">查看完整代碼獲得當(dāng)前日期和時(shí)間獲得小時(shí),即當(dāng)前是幾點(diǎn)月份數(shù)字0-11,注意+1判斷上午、下午還是晚上練習(xí)Date對(duì)象做時(shí)鐘顯示上一頁(yè)P(yáng)PT示例中時(shí)鐘不能動(dòng)態(tài)改變,怎么辦?由于時(shí)間在不停地走,所以應(yīng)該每隔1秒調(diào)用顯示時(shí)間的方法。如何解決?使用setTimeout()方法每隔1秒調(diào)用顯示時(shí)間的方法setTimeout()的用法vartimer=window.setTimeout(“調(diào)用的函數(shù)”,”定時(shí)的毫秒數(shù)”)返回值timer為該事件超時(shí)的引用變量名。提供clearTimeout()方法清除定時(shí)操作,該方法唯一參數(shù)就是事件超時(shí)的引用變量名。例:vartimer=setTimeout(“disptime()”,1000);clearTimeout(timer);該方法在設(shè)定的時(shí)間到來(lái)時(shí)觸發(fā)某指定的事件。設(shè)定時(shí)間間隔setInterval():用于設(shè)定時(shí)間間隔,用于按某個(gè)指定時(shí)間間隔去周期觸發(fā)某個(gè)事件。激活后就會(huì)重復(fù)執(zhí)行,直到關(guān)閉為止(clearInterval),所以一般放在函數(shù)體外。setTimeout():用于設(shè)置某事件的超時(shí),即在設(shè)定的時(shí)間來(lái)到時(shí)觸發(fā)某指定的事件。激活后只會(huì)執(zhí)行一次,所以一般放在函數(shù)體內(nèi)。Date對(duì)象做時(shí)鐘顯示<SCRIPTlanguage="JavaScript">functiondisptime(){vartime=newDate();//獲得當(dāng)前時(shí)間

varhour=time.getHours();//獲得小時(shí)、分鐘、秒

varminute=time.getMinutes();varsecond=time.getSeconds();document.myform.myclock.value=hour+":"+minute+":"+second+"";varmyTime=setTimeout("disptime()",1000);}</SCRIPT><BODYonLoad="disptime()"><FORMNAME="myform">H2>當(dāng)前時(shí)間:

<INPUTname="myclock"type="text"value=""size="10"></H2></FORM></BODY>查看完整代碼設(shè)置文本框的內(nèi)容為當(dāng)前時(shí)間設(shè)置定時(shí)器每隔1秒(1000毫秒),調(diào)用函數(shù)disptime()執(zhí)行小結(jié)編寫(xiě)如左圖所示,具有在網(wǎng)頁(yè)中指定位置顯示動(dòng)態(tài)時(shí)鐘效果的頁(yè)面。練習(xí)答案自動(dòng)動(dòng)態(tài)變化的時(shí)鐘任務(wù)1:制作隨機(jī)選號(hào)頁(yè)面任務(wù)描述:

假定班上有60名同學(xué),現(xiàn)制作一個(gè)提問(wèn)選號(hào)器,如圖所示。單擊開(kāi)始按鈕在頁(yè)面隨機(jī)顯示1-60的學(xué)號(hào),單擊停止按鈕在頁(yè)面顯示選中學(xué)號(hào)。任務(wù)分析實(shí)現(xiàn)隨機(jī)選號(hào)頁(yè)面的制作可以采用以下步驟:1.產(chǎn)生1-60之間的隨機(jī)整數(shù),并在頁(yè)面顯示。2.單擊開(kāi)始按鈕時(shí)使用定時(shí)函數(shù)隔60毫秒產(chǎn)生一個(gè)隨機(jī)整數(shù)。3.單擊停止按鈕時(shí)清除定時(shí)函數(shù)。Math對(duì)象Math對(duì)象能夠進(jìn)行比基本數(shù)學(xué)運(yùn)算更為復(fù)雜的運(yùn)算。Math對(duì)象不需要生成對(duì)象的實(shí)例,可以直接訪問(wèn)它的屬性和方法。Math對(duì)象常見(jiàn)屬性和方法名稱說(shuō)明屬性PI∏的值,約等于3.1415LN1010的自然對(duì)數(shù)的值,約等于2.302EEuler的常量的值,約等于2.718。Euler的常量用作自然對(duì)數(shù)的底數(shù)abs(y)返回y的絕對(duì)值sin(y)返回y的正弦,返回值以弧度為單位。cos(y)返回y的余弦,返回值以弧度為單位tan(y)返回y的正切,返回值以弧度為單位min(x,y)返回x和y兩個(gè)數(shù)中較小的數(shù)max(x,y)返回x和y兩個(gè)數(shù)中較大的數(shù)random返回0-1的隨機(jī)數(shù)方法round(y)四舍五入取整sqrt(y)返回y的平方根Math.random():產(chǎn)生0-1的隨機(jī)小數(shù)產(chǎn)生m和n之間的隨機(jī)數(shù)Math.random()*(n-m)+mMath.round():四舍五入取整,如9.34取整為9完成任務(wù)二任務(wù)3:制作簡(jiǎn)單的焦點(diǎn)圖效果任務(wù)描述:

焦點(diǎn)圖效果是各大網(wǎng)站常用的效果,效果如圖所示,頁(yè)面上5張圖片2秒輪換顯示,單擊向右圖片實(shí)現(xiàn)播放下一張圖片,圖片向后繼續(xù)2秒輪換顯示,單擊向左圖片實(shí)現(xiàn)播放上一張圖片,圖片向前繼續(xù)2秒輪換顯示。任務(wù)分析1.設(shè)計(jì)HTML頁(yè)面,應(yīng)用CSS美化頁(yè)面。2.定義數(shù)組,將輪換顯示的圖片地址保存到數(shù)組中。3.定義兩個(gè)全局變量,一個(gè)變量用于控制定時(shí)器,另一個(gè)變量用于控制數(shù)組下標(biāo)。4.定義函數(shù)實(shí)現(xiàn)圖片的輪換顯示。在函數(shù)中改變圖片的地址,使用定時(shí)器函數(shù),2秒更換圖片地址,實(shí)現(xiàn)圖片的輪流顯示。5.單擊上一張或下一張按鈕時(shí)將定時(shí)器清除,再重新調(diào)用圖片輪換顯示函數(shù)。數(shù)組的創(chuàng)建與初始化第一句聲明一個(gè)空數(shù)組第二句聲明一個(gè)長(zhǎng)度為4的空數(shù)組第三句聲明一個(gè)長(zhǎng)度為N,并用參數(shù)直接初始化數(shù)組元素。該方法在實(shí)際應(yīng)用中最為廣泛。varMyArray=newArray()varMyArray

=newArray

(4)varMyArray=newArray

(arg1,arg2,arg3…,argN)數(shù)組的創(chuàng)建與初始化功能同上一頁(yè)的創(chuàng)建與初始化方法相同。varMyArray=[]varMyArray

=[,,,]varMyArray=[arg1,arg2,arg3…,argN]數(shù)組常用屬性和方法常用屬性

length

:返回?cái)?shù)組中元素的個(gè)數(shù)常用方法方法說(shuō)明join將數(shù)組中的元素組合成字符串reverse顛倒數(shù)組元素的順序,使第一個(gè)元素成為最后一個(gè),而最后一個(gè)元素成為第一個(gè)sort對(duì)數(shù)組元素進(jìn)行排序數(shù)組的遍歷通過(guò)下標(biāo)訪問(wèn),遍歷數(shù)組。for(vari=0;i<MyArray.length;i++){ document.write(MyArray[i]);}for(variinMyArray){ document.write(MyArray[i]);}像遍歷一個(gè)對(duì)象一樣遍歷數(shù)組。數(shù)組的排序reverse()方法將數(shù)組中元素完全顛倒,返回顛倒后的數(shù)組。 MyArray.reverse();sort()方法基于某種順序重新排列數(shù)組元素。 MyArray.sort()按照ASCⅡ碼(字母順序)排序 MyArray.sort(function)由參數(shù)指定排序算法數(shù)組轉(zhuǎn)為字符串join()方法將數(shù)組中所有元素轉(zhuǎn)化為字符串,并將各元素由逗號(hào)隔開(kāi)合并成一個(gè)字符串作為方法的結(jié)果返回。join(string)由指定的字符串隔開(kāi)toString()方法無(wú)須顯式聲明此方法的調(diào)用<scripttype="text/javascript"> varfruit=newArray(5); fruit[0]="Apple"; fruit[1]="Orange"; fruit[2]="Banner"; fruit[3]="Peach"; fruit[4]="Grape";document.write("<h3>輸出數(shù)組:</h3>"); for(vari=0;i<fruit.length;i++) { document.write("<h5>第"+i+"個(gè)元素是:"+fruit[i]+"<br/></h5>"); } document.write("<h3>反轉(zhuǎn)后的數(shù)組:</h3>"); fruit.reverse(); for(vari=0;i<fruit.length;i++) { document.write("<h5>第"+i+"個(gè)元素是:"+fruit[i]+"<br/></h5>"); } document.write("<h3>排序后的數(shù)組:</h3>"); fruit.sort(); for(variinfruit) { document.write("<h5>第"+i+"個(gè)元素是:"+fruit[i]+"<br/></h5>"); } document.write("<h3>使用連接符連接數(shù)組:</h3>") varstr=fruit.join("-"); document.write(str);</script>數(shù)組方法應(yīng)用數(shù)組的連接concat()方法varmyNewArray=MyArray.concat(arg1,arg2…,argN)該方法將按照參數(shù)的順序?qū)⑺鼈兲砑拥侥繕?biāo)數(shù)組MyArray的后面,并將最終的結(jié)果返回新數(shù)組myNewArray多維數(shù)組JavaScript中只有一維數(shù)組實(shí)際開(kāi)發(fā)中需要使用多維數(shù)組,我們可以利用JavaScript數(shù)組存儲(chǔ)在數(shù)據(jù)類型以不同的特性,先將數(shù)據(jù)分別存儲(chǔ)在多個(gè)數(shù)組中,然后將所有的數(shù)組存放在一個(gè)一維數(shù)組中,即數(shù)組中存放數(shù)組。任務(wù)實(shí)現(xiàn)設(shè)計(jì)靜態(tài)頁(yè)面定義數(shù)組定義向后輪流播放圖片的函數(shù)定義向前輪流播放圖片的函數(shù)定義向前向后“按鈕”效果函數(shù)任務(wù)4:驗(yàn)證注冊(cè)頁(yè)面信息String對(duì)象創(chuàng)建字符串有兩種不同方法:使用var語(yǔ)句varnewstr=“這是我的字符串"創(chuàng)建String對(duì)象varnewstr=newString(“這是我的字符串")

String對(duì)象常見(jiàn)屬性和方法名稱說(shuō)明屬性length返回字符串的長(zhǎng)度方法big()增大字符串文本split()根據(jù)某個(gè)分割符將字符串分離成字符數(shù)組bold()加粗字符串文本fontcolor()確定字體顏色italics()用斜體顯示字符串indexOf(“子字符串”,起始位置

)從前往后查找子字符串的位置lastIndexOf(“子字符串”,起始位置

)從后往前查找子字符串的位置charAt(index)返回指定位置的字符substr()substring()由參數(shù)決定起始和結(jié)束的子符串toLowerCase()將字符串轉(zhuǎn)換成小寫(xiě)toUpperCase()將字符串轉(zhuǎn)換成大寫(xiě)語(yǔ)法:indexOf(“查找的子字符串”,查找的起始位置)返回子字符串所在的位置,如果沒(méi)找到,返回-1例如:varxvary=“abcdefg”;x=y.indexOf(“c”,0);//返回結(jié)果為2,起始位置是0檢查電子郵件email是否包含“@”和”.”<SCRIPTLANGUAGE="JavaScript">functioncheckEmail(){varstrEmail=document.myform.txtEmail.value;if(strEmail.length==0){alert("電子郵件不能為空!");returnfalse;}if(strEmail.indexOf("@",0)==-1){alert("電子郵件格式不正確\n必須包含@符號(hào)!");returnfalse;}if(strEmail.indexOf(".",0)==-1){alert("電子郵件格式不正確\n必須包含.符號(hào)!");returnfalse;}returntrue;}</SCRIPT>……<FORMname=“myform”method=“post”action=“reg_success.htm”onSubmit=“returncheckEmail()”>……<INPUTname="registerButton"type="submit"id="registerButton"value="注冊(cè)">……返回結(jié)果-1表示沒(méi)找到“@”字符獲取表單元素的值表單的提交事件驗(yàn)證電子郵件地址合法性練習(xí):完成簡(jiǎn)單的表單驗(yàn)證檢查上傳的圖片格式<scriptlanguage="javascript"type="text/javascript">functiongetFilepic(){ varstxt;

stxt=form1.pic.value.substring(form1.pic.value.lastIndexOf(".")+1,form1.pic.value.length); stxt=stxt.toUpperCase(); switch(stxt) { case"GIF":alert("你輸入的是GIF文件");break; case"JPG":alert("你輸入的是JPG文件");break; case"BMP":alert("你輸入的是BMP文件");break; case"PNG":alert("你輸入的是PNG文件");break; default:alert("你必須輸入GIF,JPG,BMP,PNG等格式的圖片!");break; }}</script>…<formaction=""method="post"enctype="multipart/form-data"name="form1"id="form1"><palign="center">選擇圖片:<inputtype="file"name="pic"/></p><palign="center"><inputtype="button"value="上傳"onclick="getFilepic()"/></p></form>返回結(jié)果-1表示沒(méi)找到“@”字符獲取表單元素的值限制上傳圖片類型將字符轉(zhuǎn)化為大寫(xiě)練習(xí):實(shí)現(xiàn)限制上傳文件類型限制上傳文件只能為doc或txt文件練習(xí):使用String對(duì)象方法和Array對(duì)象方法完成如下圖所示效果任務(wù)5:制作嚴(yán)謹(jǐn)?shù)谋韱悟?yàn)證頁(yè)面正則表達(dá)式為什么需要正則表達(dá)式簡(jiǎn)潔的代碼嚴(yán)謹(jǐn)?shù)尿?yàn)證文本框中的內(nèi)容正則表達(dá)式在JavaScript腳本中,利用正則表達(dá)式可以很容易的實(shí)現(xiàn)文本字符串的檢測(cè)、替換等功能。正則表達(dá)式是字符串,它定義了一個(gè)用來(lái)搜索匹配字符串的模式。在WEB開(kāi)發(fā)時(shí),常會(huì)判斷一個(gè)字符串有效性,如一個(gè)字符串是否是數(shù)字、是否為合法的E-MAIL地址等定義正則表達(dá)式普通方式varreg=newRegExp("white");varreg=newRegExp("white","g");構(gòu)造函數(shù)varreg=/表達(dá)式/附加參數(shù)varreg=newRegExp("表達(dá)式","附加參數(shù)")varreg=/white/;varreg=/white/g;RegExp對(duì)象的屬性RegExp對(duì)象的屬性屬性描述globalRegExp對(duì)象是否具有標(biāo)志gignoreCaseRegExp對(duì)象是否具有標(biāo)志imultilineRegExp對(duì)象是否具有標(biāo)志mRegExp對(duì)象RegExp對(duì)象的方法方法描述exec檢索字符中是正則表達(dá)式的區(qū)配,返回找到的值,并確定其位置test檢索字符串中指定的值,返回true或false如何使用正則表達(dá)式?從指定字符串中搜索子字符串“abc”<scriptlanguage=“javascript”type=“text/javascript”>functiontest1(){varmystr=doucument.form1.test.value;varmyreg=newRegExp(“abc”);if(myreg.test(mystr));alert(“目標(biāo)字符串中存在子串‘a(chǎn)bc’”);elsealert(“目標(biāo)字符串中不存在子串‘a(chǎn)bc’”);</script>……<formonsubmit=“returntest1();”><inputtype=“text”name=“test”value=“輸入檢測(cè)的字符串”>……創(chuàng)建正則表達(dá)式調(diào)用正則表達(dá)式的test方法使用正則表達(dá)式的大致步驟:創(chuàng)建正則表達(dá)式調(diào)用相關(guān)對(duì)象的方法,得到匹配結(jié)果如何構(gòu)造正則表達(dá)式要精確構(gòu)造所需的正則表達(dá)式不是容易的事,要運(yùn)用好正則表達(dá)式,則須充分了解正則表達(dá)式的構(gòu)造語(yǔ)法。正則表達(dá)式的語(yǔ)法主要是對(duì)正則表達(dá)式各個(gè)元字符功能的描述。正則表達(dá)式分為簡(jiǎn)單模式和復(fù)雜模式。表達(dá)式的模式簡(jiǎn)單模式復(fù)合模式varreg=/china/;varreg=/abc8/;varreg=/^\w+$/;varreg=/^\w+@\w+.[a-zA-Z]{2,3}(.[a-zA-Z]{2,3})?$/;簡(jiǎn)單模式簡(jiǎn)單模式包括普通字符、特殊字符、字符類及量詞等。字符類:包括簡(jiǎn)單類、反向類、范圍類、組合類及預(yù)定義類簡(jiǎn)單類:用方括號(hào)“[]”表示單個(gè)字符的“或”的關(guān)系,匹配方括號(hào)內(nèi)任意一個(gè)字符。如:/[abc]/可以匹配a、b、c中任意一個(gè)字符反向類:[^]用來(lái)匹配不在括號(hào)內(nèi)的任意字符。如:/[^abc]/可匹配除a、b、c外的其他任意字符范圍類:[0-9]表示匹配從0-9任意的數(shù)字簡(jiǎn)單模式字符類:包括簡(jiǎn)單類、反向類、范圍類、組合類及預(yù)定義類組合類:即簡(jiǎn)單類、反向類和范圍類的組合。如:/[a-z0-9\.]/可以匹配a-z、0-9和.中任意一個(gè)字符預(yù)定義類:用某些特別的表示來(lái)表示某些組合類。正則表達(dá)式符號(hào)正則表達(dá)式常用符號(hào)正則表達(dá)式重復(fù)字符符號(hào)描述/…/代表一個(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_].除了換行符之外的任意字符限定符作用說(shuō)明*出現(xiàn)0次或連續(xù)多次/a*b/可匹配b,aab,aaaab……+出現(xiàn)至少一次/a+b/可匹配ab,aaab,aaaab……?出現(xiàn)0次或者一次/a[cd]?/可匹配a,ac,ad{n}連續(xù)出現(xiàn)n次/a{3}/相當(dāng)于aaa{n,}連續(xù)出現(xiàn)至少n次/a{3,}/可匹配aaa,aaaa,……{n,m}連續(xù)出現(xiàn)至少n次,至多m次/ba{1,3}/可匹配ba,baa,baaa子匹配子匹配是正則表達(dá)式語(yǔ)法中的分組概念,在正則表達(dá)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論