国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Regex > 正文

javascript中基于replace函數的正則表達式語法

2020-03-16 21:12:10
字體:
來源:轉載
供稿:網友
replace()最js中比較簡單的字符替換函數,但是它也是可以跟正則結合實現強大的字符替換效果。
示例代碼如下: 

  1.   
  2. <script language="javascript">  
  3. var strM = "javascript is a good script language";  
  4. //在此我想將字母a替換成字母A  
  5. alert(strM.replace("a","A"));  
  6. </script>  


它只替換了首字母。但如果加上正則表達式結果就不一樣了!replace()支持正則表達式,它可以按照正則表達式的規則匹配字符或字符串,然后給予替換!

注意:被替換的部分不用加雙引號. 
  1.   
  2. <script language="javascript">  
  3. var strM = "javascript is a good script language";  
  4. //在此我想將字母a替換成字母A  
  5. alert(strM.replace(/a/,"A"));  
  6. </script>  


這樣還是只替換了第一個字母a。 
  1.   
  2. <script language="javascript">  
  3. var strM = "javascript is a good script language";  
  4. //在此將字母a全部替換成字母A  
  5. alert(strM.replace(/a/g,"A"));  
  6. </script>  

由上可知,當正則表達式有"g"標志時,代表將處理整個字符串. 
  1.   
  2. <script language="javascript">  
  3. var strM = "javascript is a good script language";  
  4. alert(strM.replace(/(javascript)/s*(is)/g,"$1 $2 fun. it $2"));  
  5. </script>  


先看看簡單例子:將所有單詞首字母換成大寫。 
  1.   
  2. <script language="javascript">  
  3. var strM = "javascript is a good script language";  
  4. function change(word)  
  5. {  
  6. return word.indexOf(0).toUpperCase()+word.substring(1);  
  7. }  
  8. alert(strM.replace(//b/w+/b/g,change));  
  9. </script>  

由上可知,當正則表達式有"g"標志時,代表將處理整個字符串,即函數change的變換將應用于所有匹配的對象。而該函數有三個或更多參數,具體個數視正則表達式而定。

有了函數與正則表達式的配合,replace()處理字符串的功能空前強大起來了!

最后還舉個例子,將字符串所有單詞倒序,用replace()處理是如此簡單。 
  1.   
  2. <script language="javascript">  
  3. var strM = "javascript is a good script language";  
  4. function change(word)  
  5. {  
  6. var result = word.match(/(/w)/g);  
  7. if ( result )  
  8. {  
  9. var str = "";  
  10. for ( var i=result.length-1; i>=0; i-- )  
  11. {  
  12. str += result;  
  13. }  
  14. return str;  
  15. }  
  16. else  
  17. {  
  18. return "null";  
  19. }  
  20. }  
  21. alert(strM.replace(//b(/w)+/b/g,change));  
  22. </script>  


對正則表達式不熟悉的朋友可以參考下面的文章

正則表達式教程在線手冊完整版
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河东区| 赤壁市| 会理县| 南靖县| 吉首市| 高碑店市| 鄂托克旗| 西乡县| 宁乡县| 太仆寺旗| 德江县| 秦皇岛市| 濉溪县| 凯里市| 商水县| 边坝县| 宁武县| 绵阳市| 寻甸| 永寿县| 都兰县| 平潭县| 千阳县| 苏尼特右旗| 西昌市| 阿尔山市| 白河县| 介休市| 常熟市| 富锦市| 沁水县| 隆化县| 土默特右旗| 长兴县| 山丹县| 文成县| 霞浦县| 阿城市| 汨罗市| 富民县| 鄄城县|