2011-07-14 64 views
0

我有以下的JS正則表達式打破了代碼,而不是因爲它應該工作。正則表達式不工作,因爲它應該

var loginFailedRegex = /https:\/\/encore.lsbu.ac.uk\/iii\/cas\/login;jsessionid=[a-z0-9]*?service=https%3A%2F%2Flispac.lsbu.ac.uk%3A443%2Fpatroninfo~S1%2FIIITICKET/i; 

if (loginFailedRegex.text(decodeURI(loc))) { 
    zoomPagePortion(100, 100); 
} 

loginFailedRegex只有[A-Z0-9] *作爲正則表達式和其他整串是靜態的。

+1

一個RegExp沒有'.text'功能 - 它是什麼應該執行? – pimvdb

+5

你的意思是'.test()'? –

+0

我沒有得到你。 – Neutralizer

回答

0

我想正則表達式的問題是在這裏

[a-z0-9]*? 

你應該有

[a-z0-9]*\? 

假設?是在你正在尋找你的URL文本需要逃避它在你的正則表達式。

此外,您還需要將text更改爲test,前提是這不僅僅是您帖子中的拼寫錯誤。

var loginFailedRegex = /https:\/\/encore.lsbu.ac.uk\/iii\/cas\/login;jsessionid=[a-z0-9]*\?service=https%3A%2F%2Flispac.lsbu.ac.uk%3A443%2Fpatroninfo~S1%2FIIITICKET/i; 

if (loginFailedRegex.test(decodeURI(loc))) { 
    zoomPagePortion(100, 100); 
} 

這是一個測試頁面,驗證

http://jsfiddle.net/cordsen/uVnZz/

相關問題