是否存在一個現有函數(或者可能有人編寫了一些現有代碼)在JS函數中驗證文本傳遞的是有效的PCRE?我一直在瘋狂Google搜索,但是我能找到的最接近的東西就是「PCRE_JAVASCRIPT_COMPAT」(這是一個PCRE兼容性標誌)或關於在PHP和Javascript中驗證輸入的討論。在Javascript函數中驗證PHP(PCRE)
我見過爲Javascript正則表達式驗證最接近的事是:
try {
"".match(regex);
return true;
} catch (e) {
return false;
}
這並沒有考慮到正則表達式和PHP(PCRE)正則表達式JS(ECMA)之間的差異 - 這顯然是一個問題,但我還沒有找到兩者之間差異的明確討論。
請幫忙嗎?
好吧,如果你與JS工作,接收PCRE與PHP一起使用,這意味着您將收到它服務器。你可以在那裏驗證。 我不認爲從JS嘗試從JS有效的RegExp將失敗。兩者都使用相同風格的正則表達式的 – AlvaroGMJ
啊,這很有趣。我認爲ECMA和PCRE是不同的風格?我需要這個在提交給服務器之前檢查提供的正則表達式是否有效。這是客戶端驗證。 – Paul
是的,正如你可以在http://www.regular-expressions.info/javascript.html中看到的,JS實現了一個Perl風格的正則表達式的子集*,而PCRE則主要是整個事物。 PHP用於在ereg *函數中使用「POSIX」正則表達式。但是,由於這些已被棄用,並且無論如何您都應該使用PCRE功能,所以您不應該發現任何問題。 – AlvaroGMJ