加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 检查密码包含字母数字和特殊字符

发布时间:2020-12-15 19:49:39 所属栏目:百科 来源:网络整理
导读:如何检查字符串passwordText是否至少包含 1个字母字符 1个号码 1个特殊字符(符号) 解决方法 试试这个: bool result = passwordText.Any(c = char.IsLetter(c)) passwordText.Any(c = char.IsDigit(c)) passwordText.Any(c = char.IsSymbol(c)); 虽然您可能
如何检查字符串passwordText是否至少包含

> 1个字母字符
> 1个号码
> 1个特殊字符(符号)

解决方法

试试这个:

bool result =
   passwordText.Any(c => char.IsLetter(c)) &&
   passwordText.Any(c => char.IsDigit(c)) &&
   passwordText.Any(c => char.IsSymbol(c));

虽然您可能希望通过“字母字符”,“数字”和“符号”更具体地说明您的意思,因为这些术语对不同的人意味着不同的东西,并且您不确定这些术语的定义是否符合定义框架使用.

我猜你用字母表示“a-z”或“A-Z”,用数字表示“0-9”,用符号表示任何其他可打印的ASCII字符.如果是这样,试试这个:

static bool IsLetter(char c)
{
    return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
}

static bool IsDigit(char c)
{
    return c >= '0' && c <= '9';
}

static bool IsSymbol(char c)
{
    return c > 32 && c < 127 && !IsDigit(c) && !IsLetter(c);
}

static bool IsValidPassword(string password)
{
    return
       password.Any(c => IsLetter(c)) &&
       password.Any(c => IsDigit(c)) &&
       password.Any(c => IsSymbol(c));
}

如果实际上你的意思是其他东西,那么相应地调整上述方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读