2011-05-30 62 views
0

我試圖建立一個正則表達式來測試,如果引用含有一定URL(但包括查詢參數等)的Javascript正則表達式問題

道歉,如果這是不好的,但是這是我第一次嘗試:

(ftp|http|https):\/\/urlhere\.com\/directoryhere(\?|/[^-+(a-zA-Z)]|$) 

它完美就在這裏: http://gskinner.com/RegExr/

但是當我嘗試它在JavaScript/Firebug的使用:

document.referrer.match(/(ftp|http|https):\/\/urlhere\.com\/directoryhere(\?|/[^-+(a-zA-Z)]|$)/gi); 

我得到的錯誤:

​​

任何幫助表示讚賞。

回答

1

有一個/是directoryhere後轉義 - (\ | / [

(ftp|http|https):\/\/urlhere\.com\/directoryhere(\?|\/[^-+(a-zA-Z)]|$) 
+0

感謝? ,用下面的答案也使用你的模式。 – user775651 2011-05-30 03:44:12

0

你已經錯過了逃生一個/以前[^-+(a-zA-Z)]

嘗試

document.referrer.match(/(ftp|http|https):\/\/urlhere\.com\/directoryhere(\?|\/[^-+(a-zA-Z)]|$)/gi); 
+0

那只是返回null而已?它不應該返回false嗎? – user775651 2011-05-30 03:42:26

+0

'document.referrer'在你的情況下返回什麼? – 2011-05-30 03:54:17