c# – 至少1个数字的6个字符以内的弱密码
发布时间:2020-12-16 00:17:24 所属栏目:百科 来源:网络整理
导读:我想为密码创建正则表达式,其长度至少为6个字符,并且其中至少包含1位数字.这是我提出的表达方式: Regex regEx = new Regex(@"^?=d.{6,}$"); 但这似乎不起作用.谁能告诉我为什么? 我想它在开始和结束之间说,它会执行预测,看看密码中是否出现任何数字.看来,
我想为密码创建正则表达式,其长度至少为6个字符,并且其中至少包含1位数字.这是我提出的表达方式:
Regex regEx = new Regex(@"^?=d.{6,}$"); 但这似乎不起作用.谁能告诉我为什么? 我想它在开始和结束之间说,它会执行预测,看看密码中是否出现任何数字.看来,然后说任何事都可以重复{6,}说至少6个字符.但这似乎不起作用.任何人都可以纠正我吗? 更新:根据Albin Sunnanbo的要求,我已将标题从强密码更改为弱密码. 解决方法
您的非捕获组缺少括号.试试这个:
^(?=.*d).{6,}$ 小测试验证一些基本功能: [TestMethod] public void CheckAtLeastNotSuperWeakPassword() { var r = new Regex(@"^(?=.*d).{6,}$"); Action<string,bool> a = (s,b) => { Assert.AreEqual(b,r.IsMatch(s),s); }; a("",false); a("a",false); a("abcdef",false); a("abcdefg",false); a("1",false); a("abc1e",false); a("abc1ef",true); a("1bcaef",true); a("cbcae1",true); a("cbcae1wqd32",true); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |