首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有效的RegEx不适用于ASP.Net MVC RegularExpression属性

有效的RegEx不适用于ASP.Net MVC RegularExpression属性
EN

Stack Overflow用户
提问于 2018-11-06 16:49:35
回答 1查看 594关注 0票数 3

我有一个正则表达式来验证密码规则。

在.Net控制台应用程序中,它按照预期正确地拒绝或验证密码。

代码语言:javascript
复制
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在客户机上的不引人注目的验证所拒绝。

代码语言:javascript
复制
[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")中的相同值无法通过客户端验证。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-06 17:24:30

似乎您的密码验证规则是:

  1. 必须至少有1位数字
  2. 必须至少有一个大写字符
  3. 必须至少有一个小写字符
  4. 必须至少有一个其他字符不符合前三条规则之一。

如果我看得对,试试这个:

代码语言:javascript
复制
^((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])).*
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53176384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档