我见过某种正则表达式测试,但是如何检查字符串是否不包含任何 0-9 数字或 AZ 字符?
user1679941
问问题
1298 次
3 回答
12
您不需要正则表达式:
string s = ...
bool hasLetterOrDigit = s.Any(c => char.IsLetterOrDigit(c));
bool onlyLetterOrDigit = s.All(c => char.IsLetterOrDigit(c));
该IsLetterOrDigit()
函数使用 Unicode 分类 ( MSDN )。
如果您想要精确控制:
string s = ...
string allowedChars = "abcdefABCDEF0123456789";
bool onlyAllowedChar = s.All(c => allowedChars.Contains(c));
于 2012-11-07T12:46:39.717 回答
2
尝试使用正则表达式
bool Exists=Regex.IsMatch(input, @"[^A-Z0-9]+");
于 2012-11-07T12:51:32.103 回答
1
就像是...
if ((Regex.IsMatch(value, "[^A-Z0-9]+")
{
//do something
}
编辑:更改为符合马特的建议。
于 2012-11-07T12:48:00.713 回答