2009-09-15 44 views
4

存儲正則表達式我在JavaScript的Javascript在變量

var re = (http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])? 

一般我封裝與/字符正則表達式語法這行代碼,但因爲它們是正則表達式它螺絲了封裝內找到。有沒有另外一種方法可以將它存儲在變量中?

似乎像轉義字符目前的斜槓是正則表達式的一部分,因爲我在c#藏漢利用這一點,完美的作品

+0

用''&什麼?這不符合角色類。此外,沒有必要逃避+或。在角色類中。 –

回答

6

一種方式是逃避的所有 occurances在您正則表達式爲\/,就像你已經部分做:

var re = /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?/; 
+0

就像你說的那樣工作 – Drahcir

16
var re = new RegExp("^your regexp.*$", "gi"); 
1

您可以逃脫你的正則表達式中的斜線:

/(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?/ 

(你已經與前兩個斜線這樣做......)