Skip to main content
 首页 » 编程设计

c#之不使用正则表达式检查特殊字符

2024年02月13日28exmyth

我是 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;。使用一个简单的循环也可以实现同样的效果。