2008-08-27 128 views
8

提交webform後,正則表達式將應用於服務器端的用戶輸入(通過PHP)。我希望在客戶端實時運行相同的正則表達式,以向用戶顯示真實輸入的內容。這與Stack Overflow上的Ask Question頁面上的Preview部分幾乎相同,除了PHP在後端而不是.NET。製作與PHP正則表達式相當的JavaScript正則表達式

爲了讓我的PHP和JavaScript正則表達式的行爲完全相同,我需要記住什麼?

回答

1

我發現正則表達式的不同實現通常在它們所支持的內容上有細微的差別。如果你想完全確定前端和後端的結果是相同的,那麼最好的選擇是對你的PHP後端進行Ajax調用,並對同樣的正則表達式評估使用同一段PHP代碼。

1

@LKM AJAX在這裏是明顯的贏家。這也將允許您遵循DRY原則。你爲什麼要在Javascript PHP中編寫解析代碼?

+5

爲什麼寫兩遍?因爲它對用戶運行速度更快,佔用帶寬更少。 – TRiG 2010-03-08 18:38:41

0

JavaScript的正則表達式和PHP的preg_match都基於Perl,所以不應該有任何移植問題。但請注意,Javascript只支持Perl支持的修飾符子集。

用於比較兩個信息:

至於交付方式,我建議你使用JSON,最薄的數據交換格式日期(AFAIK)並通過eval()直接轉換爲JavaScript對象。只要通過AJAX會議讓那個壞孩子走,你就該開始了。我希望這有助於:)

相關問題