2012-04-06 54 views
1

我結合使用這個表達式與ASP:RequiredFieldValidator的強制用戶輸入最少7個字符:最小字符輸入 - 正則表達式非人品問題

[0-9a-zA-Z]{7,} 

但是,當用戶輸入非字母@, -等,那麼這是行不通的。 如何啓用輸入所有字符和最小數量7

回答

4

試試這個Regex表達:

^.{7,}$ 
1

正則表達式不是爲了解決所有問題。您可以使用CustomValidator

<asp:CustomValidator id="CustomValidator1" 
     ControlToValidate="Text1" 
     Display="Static" 
     ErrorMessage="Must be at least 7 chars!" 
     OnServerValidate="ServerValidation" 
     runat="server"/> 

您可以處理ServerValidate事件並檢查長度:

void ServerValidation(object source, ServerValidateEventArgs args) 
{ 
    args.IsValid = args.Value.Length >= 7; 
} 
+0

但我需要驗證器的形式。 – 1110 2012-04-06 13:45:28

+0

使用'MaxLength',它不允許輸入超過7個字符,因此不需要驗證。 – jrummell 2012-04-06 13:47:06

+0

我添加了一個CustomValidator作爲另一個選項的例子。 – jrummell 2012-04-06 13:50:38

5

你的正則表達式只接受數字和字母。 「。」匹配除換行符外的任何單個字符。

所以新的正則表達式將是「。{7,}」或「\ S {7,}」。

\ S與任何非空白字符(所以沒有空格,換行,表格等)

2

最小7字符條目的正確表達是 .{7,} 「」代表任意字符(空格含) 爲了解決空白問題,你可以使用\S{7,}(大寫S!)

如果你想有一個很好的工具來幫助你的正則表達式的相處,我可以推薦Regex Designer 它是免費軟件,非常易於使用;-)