Asp.net
正則表達式限制具有換行符的字元串的字元串長度
看起來像一個簡單的任務 - 得到一個正則表達式來測試特定長度的字元串:^.{1,500}$
但是如果一個字元串有“\r\n”,那麼上面的匹配總是會失敗!
正確的正則表達式應該如何接受換行符作為字元串的一部分?
我有一個
<asp:TextBox TextMode="Multiline">並使用 RegularExpressionValidator 來檢查使用者輸入的長度。謝謝你,安德烈
您可以
RegexOptions.Singleline在驗證輸入時使用該選項。這會將輸入視為單行語句,並對其進行解析。否則,您可以嘗試以下表達式:
^(.|\s){1,500}$這應該適用於多行輸入。
你可以在檢查字元串長度之前去掉換行符嗎?在驗證伺服器端時,這很容易做到。(在 .net 中,您可以為此使用自定義驗證器)
不過,從使用者體驗的角度來看,我也會實現一個客戶端“字元計數器”。有很多東西可以找到。jQuery 有幾個選項。然後您可以實現自定義驗證器以僅在伺服器端執行,然後使用字元計數器作為您的客戶端驗證。讓使用者更好地看到他們在打字時留下了多少個字元。