我是 C# 代码的新手,我需要帮助在不使用正则表达式的情况下验证特殊字符,有人可以帮助我吗?
我正在使用此代码 ATM 并希望它在没有正则表达式的情况下工作
else if (Regex.IsMatch(textBox2.Text, "^[a-zA-Z ]+$")==false)
{
MessageBox.Show("Name may not contain any special characters");
}
谢谢!
请您参考如下方法:
正则表达式的解决方案还不错,但是如果禁止正则表达式,您可以执行以下操作:
textBox2.Text.All(Char.IsLetter);
更新:
因为你也想要 (空格):
textBox2.Text.All(c => Char.IsLetter(c) || c == ' ');
请注意,Char.IsLetter 将为任何 Unicode 字母返回 true。更严格的版本是:
textBox2.Text.All(c => (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c == ' '));
你明白了。基本上,我们遍历所有字符,看看它是否在 A-Z 或 a-z 范围或空格中。
需要 using System.Linq;。使用一个简单的循环也可以实现同样的效果。
