如何确定非大写或小写的字母字符
本文关键字:字符 何确定 | 更新日期: 2023-09-27 18:17:45
Microsoft使用此规则作为其复杂度规则之一:
任何归类为字母字符但不是大写或小写的Unicode字符。这包括来自亚洲语言的Unicode字符。
测试常用规则,如大写,可以像password.Any(char.IsUpper)
一样简单。
规则的直译如何:
password.Any(c => Char.IsLetter(c) &&
!Char.IsUpper(c) &&
!Char.IsLower(c))
当您将ascii a
和A
转换为unicode时,您将得到a
和A
,因此显然,它们是不相同的。
更新:下面是一个我认为你在问的问题的例子:
var c = 'א';
c.Dump();
char.IsUpper(c).Dump("is upper"); // False
char.IsLower(c).Dump("is lower"); // False
char.IsLetterOrDigit(c).Dump("is letter or digit"); // True
char.IsNumber(c).Dump("is Number"); // False