亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

詳解JavaScript正則表達式之RegExp對象

2024-05-06 16:26:12
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JavaScript正則表達式之RegExp對象,對RegExp對象的基本使用方法,以及各種方法進行整理,感興趣的小伙伴們可以參考一下
 

一、RegExp對象概述
       RegExp對象表示正則表達式,RegExp是正則表達式的縮寫,它是對字符串執行模式匹配的強大工具。RegExp對象用于規定在文本中檢索的內容。當您檢索某個文本時,可以使用一種模式來描述要檢索的內容。RegExp就是這種模式。簡單的模式可以是一個單獨的字符;更復雜的模式包括了更多的字符,并可用于解析、格式檢查、替換等。
正則表達式可以規定字符串中的檢索位置,以及要檢索的字符類型等。
二、創建RexExp對象
創建正則表達式和創建字符串類似,創建正則表達式有兩種方式:
       (1)使用字面量創建RegExp對象的語法:
       /pattern/attributes;
       (2)使用new關鍵詞創建RegExp對象的語法:
       new RegExp(pattern, attributes);
參數釋義:
       1參數pattern是一個字符串,指定了正則表達式的模式或其他正則表達式。
       2參數attributes是一個可選的模式字符串,包含屬性 "g"、"i" 和 "m",分別用于指定全局匹配、不區分大小寫的匹配和多行匹配。
       RegExp對象用于存儲檢索模式。通過new關鍵詞來創建RegExp對象。以下代創建了名為pattern的 RegExp對象,其模式是 "e",當使用該RegExp對象在一個字符串中檢索時,將尋找的是字符 "e"。

<span style="font-size:18px;">var pattern=new RegExp("e"); var pattern=new RegExp("e",gi);//設置全局搜素不區分大小寫</span> 

上述的也可以改成字面量的方式來創建,這種方式也是我們經常使用的方法:

<span style="font-size:18px;">var pattern=/e/; var pattern=/e/gi;</span> 

三、RegExp對象詳細解析
(1)RegExp對象屬性

詳解JavaScript正則表達式之RegExp對象

這些基本我們在上述的例子都已經見過,但我們還是舉幾個簡單的例子來看一下:

<span style="font-size:18px;">var pattern=/e/gim; document.write(pattern.global+" ");//輸出:true。說明設置了全局模式 document.write(pattern.ignoreCase+" ");//輸出:true document.write(pattern.multiline+" ");//輸出:true document.write(pattern.source+" ");//輸出:e</span> 

(2)RegExp對象方法

詳解JavaScript正則表達式之RegExp對象

RegExp對象有3個方法:test()、exec()以及compile()。
1)test()方法檢索字符串中的指定值,返回值是true或false。

<span style="font-size:18px;">var pattern=/e/; var str="The best things in life are free"; document.write(pattern.test(str));//輸出:true</span> 

2)exec()方法檢索字符串中的指定值,返回值是被找到的值;如果沒有發現匹配,則返回null。

實例:

<span style="font-size:18px;">var pattern=/e/; var str="The best things in life are free"; document.write(pattern.exec(str));//輸出:e</span> 

實例:
      向RegExp對象添加第二個參數,以設定檢索。如果需要找到所有某個字符的所有存在,則可以使用 "g" 參數。
      在使用 "g" 參數時,exec() 的工作原理如下:

  •       1找到第一個 "e",并存儲其位置。
  •       2如果再次運行exec(),則從存儲的位置開始檢索,并找到下一個 "e",并存儲其位置。
<span style="font-size:18px;">var pattern=/e/g; var str="The best things in life are free"; do {  var result=pattern.exec(str);  document.write(result+" "); } while(result!=null)</span> 

輸出的結果為:e e e e e e null
3)compile()方法用于改變正則表達式,compile()既可以改變檢索模式,也可以添加或刪除第二個參數。

<span style="font-size:18px;">var pattern=/e/; var str="The best things in life are free"; document.write(pattern.test(str));//輸出:true pattern.compile("d"); document.write(pattern.test(str));//輸出:false</span> 

(3)支持正則表達式的String對象的方法

詳解JavaScript正則表達式之RegExp對象

由于正則表達式和String對象有著一定的聯系,因此String對象的一些方法可用于正則表達式:

<span style="font-size:18px;">var pattern=/e/g;//開啟全局模式 var str="The best things in life are free"; document.write(str.match(pattren)+"<br/>");//以數組的形式輸出:e,e,e,e,e,e document.write(str.search(pattren)+"<br/>");//輸出:2(返回第一個匹配到的位置) document.write(str.replace(pattren,"a")+"<br/>");//輸出:Tha bast things in lifa ara fraa var pattern1=//s/g;///s表示空格字符 document.write(str.split(pattren1));//輸出:The,best,things,in,life,are,free</span> 

(4)元字符是擁有特殊含義的字符:

詳解JavaScript正則表達式之RegExp對象

由于這些使用廣泛,我們只是舉幾個例子:

<span style="font-size:18px;">var pattern=/b.ue/;//點符號表示匹配除了換行符以外的任意字符。 var str="blue"; document.write(pattern.test(str));//輸出:true</span> 

(5)方括號用于查找某個范圍的字符:

詳解JavaScript正則表達式之RegExp對象

<span style="font-size:18px;">var pattern=/[a-z]oogle/;//[a-z]表示26個小寫字母,任意一個都可以匹配 var str="woogle"; document.write(pattren.test(str));//輸出:true</span> 

(6)量詞

詳解JavaScript正則表達式之RegExp對象

<span style="font-size:18px;">var pattern=/go+gle/;//o*表示匹配至少一個0 var str="google"; document.write(pattren.test(str));//輸出:true</span> 

四、常用的正則表達式
主要的是看變量patttern模式字符串表示的正則表達式。其余的是一些JS的基本的東西,可以忽略。
(1)檢查郵政編碼

<span style="font-size:18px;">var pattern=/^[0-9]{6}$/;//必須是6位,并且都是是數字 var str=prompt("請輸入郵政編碼:"); if(pattern.test(str)) {  alert("您輸入的是正確的郵政標號!"); } else {  alert("您輸入的是錯誤的郵政標號!"); }</span> 

輸入一些數據運行的結果為:
輸入:056500

詳解JavaScript正則表達式之RegExp對象

詳解JavaScript正則表達式之RegExp對象

 輸入:123

詳解JavaScript正則表達式之RegExp對象

詳解JavaScript正則表達式之RegExp對象

(2)簡單電子郵件地址驗證

<span style="font-size:18px;">var pattern=/^([/w/./-]+)@([/w/-]+)/.([a-zA-Z]{2,4})$/; var str=prompt("請輸入郵箱名稱:"); if(pattern.test(str)) {  alert("您輸入的是正確的郵箱名稱!"); } else {  alert("您輸入的是錯誤的郵箱名稱!"); }</span> 

(3)檢查上傳文件壓縮包

<span style="font-size:18px;">var pattern=/[/w]+/.zip|rar|gz/;///w表示所有數字和字母以及下劃線 var str=prompt("請輸入壓縮包的名稱:"); if(pattern.test(str)) {  alert("您輸入的是正確的壓縮包名稱!"); } else {  alert("您輸入的是錯誤的壓縮包名稱!"); }</span> 

(4)檢查手機號

<span style="font-size:18px;">var pattern=/^[1][0-9]{10}$/; var str=prompt("請輸入手機號碼:"); if(pattern.test(str)) {  alert("您輸入的是正確的手機號碼!"); } else {  alert("您輸入的是錯誤的手機號碼!"); }</span> 

下面三個輸出的結果就不再一一展示,只要寫好模式正則表達式就可以檢驗輸入的數據是否正確。由于剛剛接觸正則表達式,可能有不正確的地方,自己會進行完善和修正,希望對大家的學習有所幫助。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
福利二区91精品bt7086| 国产久一一精品| 欧美xxxwww| 亚洲综合一区二区不卡| 欧美成人精品影院| 欧美最顶级的aⅴ艳星| 国外成人在线播放| 欧美日韩中文字幕在线视频| 日本不卡高字幕在线2019| 国模吧一区二区| 日韩精品视频在线观看网址| 在线精品国产成人综合| 久久久久一本一区二区青青蜜月| 欧美日韩国产成人在线| 欧美精品电影在线| 成人黄色av播放免费| 一本色道久久88亚洲综合88| 久久99热这里只有精品国产| 精品久久久久久亚洲精品| 国产一区二区激情| 国内精品免费午夜毛片| 亚洲美女视频网| 韩日精品中文字幕| 国产91色在线播放| 久久人人爽人人爽人人片av高请| 欧美性videos高清精品| 在线播放日韩欧美| 91精品国产高清| 成人免费福利在线| 亚洲综合色激情五月| 在线观看精品自拍私拍| 亚洲国产中文字幕久久网| 国产91免费看片| 亚洲精品国产福利| 欧美在线一级va免费观看| 免费av在线一区| 精品国产一区二区三区四区在线观看| 北条麻妃一区二区在线观看| 欧美黄色免费网站| 欧美日韩精品二区| 久久久久久久久久久亚洲| 91精品国产自产在线老师啪| 少妇高潮 亚洲精品| 欧美电影在线播放| 欧美三级欧美成人高清www| 久久久久久久一区二区三区| 国产精品一区二区三区在线播放| 亚洲精品www久久久| 最新国产精品亚洲| 日本久久久久亚洲中字幕| 亚洲二区在线播放视频| 97在线观看视频| 亚洲sss综合天堂久久| 欧美成人激情图片网| 欧美一级在线亚洲天堂| 日本伊人精品一区二区三区介绍| 成人a免费视频| 日韩精品视频在线| 欧美人成在线视频| 国产精品视频99| 欧美日韩免费在线| 91久久夜色精品国产网站| 亚洲国产日韩欧美综合久久| 中文字幕日本欧美| 5252色成人免费视频| 亚洲最大福利网站| 国产一区二区日韩精品欧美精品| 欧美亚洲国产视频| 亚洲精品视频二区| 亚洲va国产va天堂va久久| 91在线看www| 色黄久久久久久| 伊人久久久久久久久久久| 一本色道久久88综合亚洲精品ⅰ| 日韩中文在线中文网三级| 久久精品一偷一偷国产| 91av视频在线观看| 国产成人精品免费视频| 亚洲综合国产精品| 久久在线精品视频| 欧美中文字幕视频| 欧美精品在线免费播放| 欧美视频在线观看免费网址| 亚洲国产欧美一区二区三区同亚洲| 亚洲欧美第一页| 亚洲精品白浆高清久久久久久| 久久免费成人精品视频| 久久精品视频中文字幕| 日韩69视频在线观看| 国产精品国模在线| 欧美性生交xxxxx久久久| 亚洲精品v天堂中文字幕| 亚洲国内高清视频| 国产日产久久高清欧美一区| 亚洲视频电影图片偷拍一区| 91高潮在线观看| 日韩美女av在线| 久久久精品亚洲| 国产精品久久久久久久久久久新郎| 亚洲性av网站| 91色精品视频在线| 午夜免费在线观看精品视频| 日韩国产精品亚洲а∨天堂免| 97免费在线视频| 欧美性猛交xxxx富婆| 国产精品一区二区久久久久| 一区二区欧美亚洲| 欧美大片在线看免费观看| 最近日韩中文字幕中文| 亚洲精品欧美日韩专区| 91精品国产九九九久久久亚洲| 国产精品美女在线观看| 国产精品观看在线亚洲人成网| 黄色一区二区三区| 欧美成人午夜激情在线| 日韩在线中文字| 欧美激情亚洲视频| 欧美性猛交xxxx乱大交| 欧美日韩国产精品一区二区三区四区| 高清欧美性猛交xxxx| 国产亚洲精品久久久久久牛牛| 国产免费一区二区三区在线观看| 国产婷婷色综合av蜜臀av| 成人黄色午夜影院| 国产精品户外野外| 一区二区欧美久久| 北条麻妃一区二区三区中文字幕| 国产一区二区三区三区在线观看| 国产精品黄色影片导航在线观看| 97视频在线观看视频免费视频| 一区二区三区国产视频| 日韩成人小视频| 精品成人久久av| 97在线观看视频国产| 久久99亚洲精品| 亚洲福利在线播放| 日韩精品亚洲精品| 在线性视频日韩欧美| 欧美日韩国产二区| 国产精品白嫩初高中害羞小美女| 操91在线视频| 欧美激情在线狂野欧美精品| 97国产在线视频| 欧美精品做受xxx性少妇| 亚洲美女喷白浆| 欧美福利视频在线| 欧美午夜精品久久久久久浪潮| 精品露脸国产偷人在视频| 午夜欧美不卡精品aaaaa| 亚洲乱码av中文一区二区| 成人中心免费视频| 国产aⅴ夜夜欢一区二区三区| 精品视频在线播放色网色视频| 亚洲一级片在线看| 国产精品第10页| 国产精品视频白浆免费视频| 亚洲一级黄色av| 国内外成人免费激情在线视频网站| 97av在线视频| 色婷婷久久一区二区| 在线精品高清中文字幕| 日韩av在线精品| 精品视频中文字幕| 成人精品视频99在线观看免费|