我有一个正则表达式来验证密码规则。
在.Net控制台应用程序中,它按照预期正确地拒绝或验证密码。
var strongRegex = new Regex("^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^a-zA-Z0-9])");
Console.WriteLine(strongRegex.IsMatch("Test_1234"));这将像预期的那样返回"true“。
当我在ASP.Net MVC项目中将其添加到我的模型中时,这个相同的值将被jQuery在客户机上的不引人注目的验证所拒绝。
[RegularExpression("^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^a-zA-Z0-9])"]我查看了页面源代码,看看在以前的框架版本中,由于阅读了区分大小写的问题,这是如何呈现的,但这里似乎并非如此.它在input元素上呈现以下内容:
data-val-regex-pattern="^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^a-zA-Z0-9])"
这将导致控制台应用程序("Test_1234")中的相同值无法通过客户端验证。
发布于 2018-11-06 17:24:30
似乎您的密码验证规则是:
如果我看得对,试试这个:
^((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])).*https://stackoverflow.com/questions/53176384
复制相似问题