我正在編寫一個函數,它接收一個預期的文件名並進行驗證,以確保文件名中不存在任何系統不允許的字符。這些是不允許的字符:/ \ | *? 「<>編寫一個包含特殊保留字符的Javascript正則表達式
我明顯可以使用string.indexOf()逐個搜索每個特殊字符,但這比僅使用string.search()使用正則表達式查找要長很多文件名中的任何字符
問題是,大多數這些字符被認爲是描述正則表達式的一部分,所以我不確定如何將這些字符包含爲真正屬於正則表達式本身的一部分。例如,Javascript正則表達式中的/字符告訴Javascript它是正則表達式的開始或結束。如何編寫一個JS正則表達式,其功能如下:filename.search(\ OR/OR | OR * OR?OR 「OR < OR>)
因此,「我如何在正則表達式中轉義字符?「任何文檔都應該在第一頁或第二頁上解釋這一點 – 2012-01-03 17:03:46
我不會擔心文件名中不需要的東西,除非你將像'(。+)\。ext'這樣的細節和概括混合在一起。專注於像'^ \ w +(?:\。\ w +)* \。\ w {2,4} $這樣允許的內容''這個[[\ \/\\ | *?「<>]'匹配的集合是imense。 – sln 2012-01-03 17:49:43