【发布时间】:2020-05-22 07:14:30
【问题描述】:
我必须为密码列添加验证器,即它不应在任何阶段在密码中允许“密码”字样..意味着不应允许“密码@1234”。所以我使用了下面的代码,它工作正常:
Regex.IsMatch(viewModel.Password.ToUpper(), @"(\w*PASSWORD\w*)", RegexOptions.IgnoreCase)
现在我想比较多个单词意味着它不应该包含“密码”或“你好”让我们说。我试过“.Any”,但它不起作用。
if (myList.Any(str => str.Contains("Password")))
我已关注:
Check if a string within a list contains a specific string with Linq
适用于任何
请帮忙。
【问题讨论】:
-
多个“单词”是什么意思?你的意思是一个句子仍然存储为一个字符串,比如“这有很多词”,还是你的意思是一个词的集合,比如
List<string> {"this", "is", "a", "collection", "of", "words"} -
列表
{"this", "is", "a", "collection", "of", "words"} -
那么您到底尝试了什么?你说过你试过
Any()..这段代码是什么样的? -
那是因为你改变了你正在检查的内容......你的第一个例子是对密码的大写版本进行正则表达式检查。你的
Any版本只是做一个基本的包含