我正在與其他幾個開發人員在一個網站上工作,我們遇到了問題,人們通過使用URL相對於站點根的AJAX調用提交JavaScript代碼。例如/主頁/索引如果該網站託管在虛擬目錄中,則不起作用。正則表達式搜索文本沒有先前由特定的字符串
爲了解決這個問題,我們使用一個$ .url()方法將它轉換爲完整路徑,例如,
$("#container").load($.url("/Home/Index"))
我想寫一個單元測試,將搜索每個JavaScript文件,並找到$ .url方法沒有被使用的地方。唯一的問題是,我似乎無法寫一個正則表達式來做到這一點。我曾嘗試以下方法:
(?!\$\.url\()"(/\w*)+"
但這不起作用。我找不到一種方法來說我不要想在$ .url前面。有誰知道這是否可能?請注意,我需要與.NET兼容的正則表達式。
謝謝。
感謝您的回覆,我意識到我原來的正則表達式是錯誤的:w後的星號是加號,在我修好之後,它對你的修改似乎很有效。它被這樣的情況愚弄: document.location = $ .url(「/ Report /」+ $(「#ddlObjectName」).val()+「/ New」); 有什麼簡單的方法這是什麼?如果有辦法我可以檢查一個加號,那麼我可以排除這場比賽,但我不知道該怎麼做 – James 2010-04-22 16:06:46
你只是想*找到*有問題的項目,不匹配整個事情,這個應該足夠了:'(?<!\ $ \。url \()「/ \ w +'。 – 2010-04-22 17:18:19