javascript RegExp 使用說(shuō)明
來(lái)源:易賢網(wǎng) 閱讀:800 次 日期:2016-06-25 13:43:54
溫馨提示:易賢網(wǎng)小編為您整理了“javascript RegExp 使用說(shuō)明”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了javascript RegExp 使用說(shuō)明 ,需要的朋友可以參考下

一:正則表達(dá)式的創(chuàng)建方式  

 1.文字格式,使用方法如下:  

 /pattern/flags(即:/模式/標(biāo)記)  

 2.RegExp構(gòu)造函數(shù),使用方法如下:  

 new RegExp("pattern"[,"flags"])(即:new RegExp("模式"[,"標(biāo)記"]))  

 參數(shù):  

 pattern(模式):表示正則表達(dá)式的文本  

 flags(標(biāo)記):如果指定此項(xiàng),flags可以是下面之一:  

 g:global match(全定匹配)  

 i:ignore case(忽略大小寫)  

 gi:both global match and ignore case(匹配所有可能的值,也忽略大小寫)  

 注意:文字格式中的參數(shù)不要使用引號(hào)標(biāo)記,二夠造器函數(shù)的參數(shù)則要使用引號(hào)標(biāo)記。所以下面的表達(dá)式  

 是等價(jià)的:  

 /ab+c/i     ====================  new RegExp("ab+c","i")  

 描述:  

 當(dāng)使用構(gòu)造器函數(shù)創(chuàng)建正則表達(dá)式的時(shí)候,必須使用正常的字符串避開(kāi)規(guī)則(在字符串中加入前導(dǎo)字符\)是必須的。  

 例如,下面的兩條語(yǔ)句是等價(jià)的:  

 re=new RegExp("\\w+");  

 re=/\w+/ 

注意:RegExp預(yù)置了$屬性 

$1, ..., $9屬性 

用圓括號(hào)括著的匹配子串,如果有的話。 

是RegExp的屬性 

靜態(tài),只讀 

在JavaScript 1.2, NES 3.0以上版本提供 

描述:因?yàn)閕nput是靜態(tài)屬性,不是個(gè)別正則表達(dá)式對(duì)象的屬性。你可以使用RegExp.input 訪問(wèn)該 

屬性。 

能加上圓括號(hào)的子串的數(shù)量不受限制,但正則表達(dá)式對(duì)象只能保留最后9 條。如果你要訪問(wèn)所有的 

圓括號(hào)內(nèi)的匹配字串,你可以使用返回的數(shù)組。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 

 <HTML> 

 <HEAD> 

  <TITLE> New Document </TITLE> 

  <SCRIPT LANGUAGE="JavaScript1.2"> 

  var regexp = new RegExp("(\\w+)\\s(\\w+)"); 

 str = "John Smith"; 

 newstr=str.replace(regexp,"$2"); 

 newstr2=str.replace(regexp,"$1"); 

 document.write("原字符串:"+str+"<br/>"); 

 document.write(newstr+"<br/>"); 

 document.write(newstr2+"<br/>"); 

 document.write('$1='+RegExp.$1+"  $2="+RegExp.$2); 

 </SCRIPT> 

 </HEAD> 

 <BODY> 

 </BODY> 

 </HTML>

二: match() 方法可在字符串內(nèi)檢索指定的值,或找到一個(gè)或多個(gè)正則表達(dá)式的匹配。它返回指定的值,而不是字符串的位置。

語(yǔ)法 

stringObject.match(searchvalue) 

stringObject.match(regexp)參數(shù) 描述 

searchvalue 必需。規(guī)定要檢索的字符串值。 

regexp 必需。規(guī)定要匹配的模式的 RegExp 對(duì)象。如果該參數(shù)不是 RegExp 對(duì)象,則需要首先把它傳遞給 RegExp 構(gòu)造函數(shù),將其轉(zhuǎn)換為 RegExp 對(duì)象。 

返回值 

存放匹配結(jié)果的數(shù)組。該數(shù)組的內(nèi)容依賴于 regexp 是否具有全局標(biāo)志 g。 

說(shuō)明 

match() 方法將檢索字符串 stringObject,以找到一個(gè)或多個(gè)與 regexp 匹配的文本。這個(gè)方法的行為在很大程度上有賴于 regexp 是否具有標(biāo)志 g。

如果 regexp 沒(méi)有標(biāo)志 g,那么 match() 方法就只能在 stringObject 中執(zhí)行一次匹配。如果沒(méi)有找到任何匹配的文本, match() 將返回 null。否則,它將返回一個(gè)數(shù)組,其中存放了與它找到的匹配文本有關(guān)的信息。

match使用實(shí)例:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 

 <HTML> 

 <HEAD> 

  <TITLE> New Document </TITLE> 

  <SCRIPT LANGUAGE="JavaScript1.2"> 

 var str="1 plus 2 equal 3"; 

 var str2="11/23/55"; 

 var results=str.match(new RegExp("\\d+","gi")); 

 for(var i=0;i<results.length;i++){ 

   document.write(results[i]+"<br/>"); 

 } 

 var res=str2.match(new RegExp("(\\d\\d?)/(\\d\\d?)/(\\d\\d)")); 

 if(str2.length == res[0].length){ 

   document.write(res[1]+"<br/>"); 

   document.write(res[2]+"<br/>"); 

   document.write(res[3]+"<br/>"); 

 } 

 </SCRIPT> 

 </HEAD> 

 <BODY> 

 </BODY> 

 </HTML> 

 function dateCheck(value) { 

   re = new RegExp("(\\d\\d?)/(\\d\\d?)/(\\d\\d)"); 

   var result = value.match (re); 

   if (result){ 

     if (result[0].length != value.length){ 

       alert ("Wrong date format. The correct format should be MM/dd/yy.") 

       return false; 

     }else{ 

       var t = result[3]; 

       var y = parseInt("20" + t); 

       var m = parseInt(result[1], 10) - 1; 

       var day = parseInt(result[2], 10); 

       var d = new Date(y, m, day); 

       if (d.getFullYear() != y || d.getMonth() != m || d.getDate() != day){ 

         alert ("error date!") 

         return false; 

       }else{ 

         var sm = result[1].length == 1?'0' + result[1]:result[1]; 

         var sday = result[2].length == 1?'0' + result[2]: result[2]; 

         var sy = result[3]; 

         else 

           return sm + '/' + sday + '/' + sy; 

       } 

     } 

   }else{ 

     alert ("Wrong date format. The correct format should be MM/dd/yy."); 

     return false; 

   } 

 }

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:javascript RegExp 使用說(shuō)明
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)