特殊信件检查
本文关键字:检查 特殊信件 | 更新日期: 2023-09-27 18:24:25
如何检查TextBox
是否包含数字、字母,以及是否包含特殊字母,如"õ,ä,ö,ü"?
我用代码检查数字和字母:
Regex.IsMatch(Value, "^[a-z0-9]+$", RegexOptions.IgnoreCase)
如何检查文本框是否仅包含数字和字母,
bool isValid = textBox.Text.All(char.IsLetterOrDigit);
考虑以下示例:
string str = "Something123õäö";
bool isValid = str.All(char.IsLetterOrDigit);
对于上述情况,您将获得true
。
如何从字符串中去除非ASCII字符?(在C#中)是否包含任何指针?
您可以使用'uXXXX
语法将unicode包含在正则表达式中,用于您特别想要对其进行剥离测试的任何其他字母。
Regex.IsMatch(Value, "^[a-z0-9'u00c0-'u00f6]+$", RegexOptions.IgnoreCase)
只需在每个字符上循环,并与其他字符以及字母和数字的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
数组应该能够处理您想要接受的所有内容。
如果您想验证所有"单词宪章",请使用'w
,如果您想查看整个字符串是单词字符还是数字,请使用正则表达式^('w|'d)+$