c# - 如何验证一个字符串只允许其中包含字母数字字符?

标签 c# regex

如何使用正则表达式验证字符串以仅允许其中包含字母数字字符?

(我也不想允许任何空格)。

最佳答案

在 .NET 4.0 中,您可以使用 LINQ:

if (yourText.All(char.IsLetterOrDigit))
{
    //just letters and digits.
}

yourText.All 将停止执行并返回 false 第一次 char.IsLetterOrDigitAll 的契约(Contract)无法履行。

注意!此答案不会严格检查字母数字(通常是 A-Z、a-z 和 0-9)。此答案允许本地字符,例如 åäö

更新 2018-01-29

上述语法仅在您使用具有正确类型的单个参数(在本例中为 char)的单个方法时有效。

要使用多个条件,需要这样写:

if (yourText.All(x => char.IsLetterOrDigit(x) || char.IsWhiteSpace(x)))
{
}

关于c# - 如何验证一个字符串只允许其中包含字母数字字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1046740/

相关文章:

c# - OneDrive 上传/下载到指定目录

regex - zsh grep 模式匹配 ^ 不起作用

c# - 如何将不同的计算值传递给 asp 柱形图标签?

c# - NetDataContractSerializer 和程序集版本不匹配

c# - 查询相同数据上下文时得到不同结果

java - 在Java中解析管道分隔的字符串(管道可以转义)

python - 选择用\n 分隔的 <p> 标记

JAVA - 正则表达式问题

regex - 在Sublime Text 3中搜索不包含特定字符串的文件

c# - 在 C# 中列出 ODBC 数据源