-1

asp.net 创建用户向导使用的默认正则表达式是什么?

根据MSDN 文档,它应该是这样的:

正则表达式@\"(?:.{7,})(?=(.*\d){1,})(?=(.*\W){1,})

验证信息:您的密码长度必须为 7 个字符,并且至少包含一个数字和一个特殊字符。

但是,它不起作用,因为它不接受3edc£edc之类的东西,而在使用默认的创建用户向导时,它实际上是被接受的。

关于如何获得这个正则表达式的任何想法?

4

2 回答 2

1

错误在于?:(?:.{7,})(?=(.*\d){1,})(?=(.*\W){1,})消耗”了拳头七个字符或更多字符。它应该是?=或者你可以颠倒顺序:(?=(.*\d){1,})(?=(.*\W){1,})(?:.{7,})

于 2012-03-13T10:02:05.747 回答
0

只需更改顺序

^(?=(.*\d))(?=(.*\W)).{7,}

我还删除了{1,}并将其锚定到字符串的开头,您不需要在最后一部分周围设置一个组

在 Regexr 上查看

于 2012-03-13T10:02:33.350 回答