2016-03-05 59 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

相关问题