iT邦幫忙

16

Javascript正規表達式與取代功能

replace()使用正規表達式當參數,可以用來取代文字。

var pattern = new RegEx('/(Taipei)+/g');
var str = 'I live in Taipei.';
var result = str.replace(pattern,'<strong>$1</storng>');

在replace中的$1就代表pattern中的括號,上述的語法會將

I live in Taipei.

變成

I live in <strong>Taipei</strong>.

如果有第二個括號,就是$2,以此類推。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
5min
iT邦好手 3 級 ‧ 2008-03-12 18:04:46

推!在請多多分享拉!

0
yha88800
iT邦好手 3 級 ‧ 2008-03-13 23:33:22

寫得很好

0
wordsmith
iT邦高手 1 級 ‧ 2008-03-17 19:41:30

勘誤一下,上面
var pattern = new RegEx('/(Taipei)+/g');

JavaScript的正規化建構式應該是RegExp();

0
xsenie628
iT邦新手 1 級 ‧ 2008-03-26 21:18:06

謝謝您的介紹,
讓我又多增加知識囉。

0
john651216
iT邦研究生 1 級 ‧ 2008-04-21 11:56:15

謝謝分享

0
tgunlu
iT邦研究生 1 級 ‧ 2008-04-24 20:21:12

謝謝分享

0
yce701116
iT邦研究生 1 級 ‧ 2008-04-24 20:33:44

感謝分享這個資訊

0
fanylu60
iT邦研究生 1 級 ‧ 2008-04-24 20:48:22

感謝提供分享

0
海綿寶寶
iT邦大神 1 級 ‧ 2008-04-26 23:38:21

RE 是這樣的

會用的人覺得事半功倍
不會的人覺得亂七八糟,不知所云

0
tyc1220
iT邦研究生 1 級 ‧ 2008-05-19 00:39:48

謝謝分享

0
bigmotor
iT邦研究生 5 級 ‧ 2008-07-19 23:28:23

謝謝分享

0
jamesjan
iT邦高手 1 級 ‧ 2008-08-16 09:20:59

RegExp 最常見的就是用來檢查 email address 的正確性

var pattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

var pattern = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

//This now allows Gmail users to add their filtered addresses such as user+filter@gmail.com.

參考資料:http://www.dustindiaz.com/update-your-email-regexp/

0

增知識有幫助,謝謝分享咯!

0
evildeepblue
iT邦新手 4 級 ‧ 2009-03-24 12:16:47

請問如果要把多個 -->--> 字串 統一取代為單一個 --> 字串
replace 語法要如何下?

0
fillano
iT邦超人 1 級 ‧ 2009-03-24 13:54:01

這完全不必用到真正的RE語法吧?

&lt;pre class="c" name="code">


&lt;script>
var str = "abc-->-->def";
alert(str.replace(/-->-->/,"-->"));
&lt;/script>

跑跑看。

0
fillano
iT邦超人 1 級 ‧ 2009-03-24 15:33:10

阿,抱歉,我想您要得是任意個「-->」取代為單一個「-->」,那要這樣:

&lt;pre class="c" name="code">


&lt;script>
var str = "00-->-->-->-->abc-->-->-->def-->-->ghi-->jkl-->-->-->-->-->";
alert(str.replace(/(-->)+/g,"-->"));
&lt;/script>

我要留言

立即登入留言