2016-03-05 56 views
0

例如在我的表單中,我需要在文本框中輸入我的名字,但是當文本框或數字中有特殊字符或數字時,按下按鈕後會彈出一個消息框,提示「請輸入有效的名稱」 。如何禁用文本框中的特殊字符和數字?

enter image description here

+2

取決於你如何定義「特殊字符」。 –

+0

所有不是A-Z,a-z和空格的字符 – leimelson06

+1

如果我的名字是RenéeNyström,該怎麼辦?還是田中太郎? –

回答

4

爲了避免做錯了承認,當有人進入非ASCII字符,但有效的名稱(如田中太郎),您可能需要真正的名單下跌你不想包含特殊字符。

但要保持它的簡單,如果你的意思是通過特殊字符均高於空白和字母等,然後只需使用內置功能char.IsLetterchar.IsWhiteSpace:如果您要檢查

if (str.Any(c => !char.IsLetter(c) && !char.IsWhiteSpace(c))){ 
    //invalid 
} else { 
    //valid 
} 

鑑於上述檢查字符以及其他的一些特定的範圍,只要把你的額外的檢查中//invalid部分:

if (str.Any(c => !char.IsLetter(c) && !char.IsWhiteSpace(c))){ 
    //possible invalid 
    if (some additional character range checking){ 
     //valid case 
    } else { 
     //truly invalid 
     //add as many else if as you want 
    } 
} else { 
    //valid 
} 
+0

我該如何使用它?例如我的txtbox名稱是FN? – leimelson06

+0

它說)預計 – leimelson06

+0

@ leimelson06它應該是三重關閉括號')))''而不是兩個'))'現在應該沒問題。從你的'TextBox.Text'獲取'str',例如:'string str = textBoxFullName.Text;'或'string str = FN.Text'然後你可以應用上面的檢查。 – Ian

相關問題