亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2015年12月13日 10:57:14   作者:丿木呈廣予口貝  
這篇文章主要介紹了JavaScript正則表達式之RegExp對象,對RegExp對象的基本使用方法,以及各種方法進行整理,感興趣的小伙伴們可以參考一下

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

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

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

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

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


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

<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對象方法

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()方法檢索字符串中的指定值,返回值是被找到的值;如果沒有發(fā)現(xiàn)匹配,則返回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對象添加第二個參數(shù),以設定檢索。如果需要找到所有某個字符的所有存在,則可以使用 "g" 參數(shù)。
      在使用 "g" 參數(shù)時,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()既可以改變檢索模式,也可以添加或刪除第二個參數(shù)。

<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對象的方法

由于正則表達式和String對象有著一定的聯(lián)系,因此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/>");//以數(shù)組的形式輸出: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)元字符是擁有特殊含義的字符:

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

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

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

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

(6)量詞

<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位,并且都是是數(shù)字 
var str=prompt("請輸入郵政編碼:"); 
if(pattern.test(str)) 
{ 
 alert("您輸入的是正確的郵政標號!"); 
} 
else 
{ 
 alert("您輸入的是錯誤的郵政標號!"); 
}</span> 

輸入一些數(shù)據(jù)運行的結果為:
輸入:056500

 輸入:123

(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表示所有數(shù)字和字母以及下劃線 
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> 

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

相關文章

  • JSON遍歷方式實例總結

    JSON遍歷方式實例總結

    這篇文章主要介紹了JSON遍歷方式,結合實例形式總結分析了JavaScript操作json實現(xiàn)遍歷的常用技巧,并給出了實例總結,需要的朋友可以參考下
    2015-12-12
  • js 文件引入實現(xiàn)代碼

    js 文件引入實現(xiàn)代碼

    項目前端的文件和后臺開發(fā)分離,只要后臺開發(fā)更新svn前端的js,css文件都會更新,以前引用的是一個js文件如AA.js,由于想在項目中引用jquery庫,如果在每個文件的頭部都引讓他們從新寫入這個jq文件不太可能
    2010-04-04
  • JS高級運動實例分析

    JS高級運動實例分析

    這篇文章主要介紹了JS高級運動,結合實例形式分析了javascript運動框架原理、實現(xiàn)與應用技巧,需要的朋友可以參考下
    2016-12-12
  • JS實現(xiàn)的簡單鼠標跟隨DiV層效果完整實例

    JS實現(xiàn)的簡單鼠標跟隨DiV層效果完整實例

    這篇文章主要介紹了JS實現(xiàn)的簡單鼠標跟隨DiV層效果,涉及JavaScript基于時間函數(shù)動態(tài)操作頁面元素屬性的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • javascript使用Promise對象實現(xiàn)異步編程

    javascript使用Promise對象實現(xiàn)異步編程

    這篇文章主要介紹了javascript使用Promise對象實現(xiàn)異步編程的相關資料,需要的朋友可以參考下
    2016-03-03
  • js中日期的加減法

    js中日期的加減法

    JavaScript實現(xiàn)日期加減計算功能代碼實例,因為在js中沒有類似C#中的AddDays方法,所以要想實現(xiàn)日期加減的話,就需要自己寫函數(shù)來實現(xiàn)。
    2015-05-05
  • JS可斷點續(xù)傳文件上傳實現(xiàn)代碼解析

    JS可斷點續(xù)傳文件上傳實現(xiàn)代碼解析

    這篇文章主要介紹了JS可斷點續(xù)傳文件上傳實現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • js+canvas實現(xiàn)動態(tài)吃豆人效果

    js+canvas實現(xiàn)動態(tài)吃豆人效果

    本文主要介紹了js+canvas實現(xiàn)動態(tài)吃豆人效果的實例。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • jquery根據(jù)錨點offset值實現(xiàn)動畫切換

    jquery根據(jù)錨點offset值實現(xiàn)動畫切換

    點擊后僵硬的切換是不是很不爽,下面為大家介紹的是根據(jù)錨點offset值來實現(xiàn)動畫切換,喜歡的朋友不要錯過
    2014-09-09
  • JS左右無縫滾動(一般方法+面向對象方法)

    JS左右無縫滾動(一般方法+面向對象方法)

    其實不管是一般方法還是面向對象的方法都還有很多可以改進的地方,有需要的先將就著用吧
    2012-08-08

最新評論