如何检查TextBox
是否包含数字,字母,还有特殊字母,如“õ,ä,ö,ü”?
我使用代码检查数字和字母:
Regex.IsMatch(Value, "^[a-z0-9]+$", RegexOptions.IgnoreCase)
答案 0 :(得分:8)
如何检查文本框是否仅包含数字和字母,
bool isValid = textBox.Text.All(char.IsLetterOrDigit);
考虑以下示例:
string str = "Something123õäö";
bool isValid = str.All(char.IsLetterOrDigit);
对于上述情况,您将获得true
。
答案 1 :(得分:1)
只需循环遍历每个字符并与其他字符进行比较,并与char.GetUnicodeCategory
进行字母和数字比较:
var allowed = new[] { 'ö', 'ä' };
var isOK = textBox1.Text.All(c =>
char.GetUnicodeCategory(c) == UnicodeCategory.LowercaseLetter ||
char.GetUnicodeCategory(c) == UnicodeCategory.UppercaseLetter ||
char.GetUnicodeCategory(c) == UnicodeCategory.DecimalDigitNumber ||
allowed.Contains(c));
UnicodeCategory.LowercaseLetter
是标准的小写字母('a'..'z'
),UnicodeCategory.UppercaseLetter
是大写字母,UnicodeCategory.DecimalDigitNumber
是数字,所以这个和自定义的allowed
数组应该是照顾你想要接受的一切。
答案 2 :(得分:1)
How can you strip non-ASCII characters from a string? (in C#) 是否包含任何指针?
您可以在正则表达式中使用\uXXXX
语法包含unicode,以获取您特别想要剥离测试的任何其他字母。
Regex.IsMatch(Value, "^[a-z0-9\u00c0-\u00f6]+$", RegexOptions.IgnoreCase)
答案 3 :(得分:0)
如果您要验证所有“字词包机”,只需使用\w
,如果您想查看整个字符串是否只是单词字符或数字,请使用正则表达式^(\w|\d)+$