0

我的 asp.net mvc3 应用程序上有这个正则表达式:

Regex pattern = new Regex(@"^(?!.*(.)\1\1)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{8,20}$");

由于某些要求,我需要使用 jquery 来实现这一点:

password.match(/(.*(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]/))

这是有效的。它将检测密码上是否存在 1 个大写字母、1 个小写字母和 1 个数字。但是,我还需要检测是否存在 3 个连续字母(例如:aaa、bbb)。

使用我在 c# 上的正则表达式,它在以下方面的帮助下工作:

/(.)\1\1/

但我不能让它工作password.match(/(.)\1\1/)

我在这里错过了什么吗?提前致谢!

4

1 回答 1

0

我刚刚复制了您的 C# 正则表达式并在 JavaScript 控制台中进行了尝试,效果很好:

"waweEEad2".match(/^(?!.*(.)\1\1)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{8,20}$/)

返回["waweEEad2", undefined]

"waweEEEad2".match(/^(?!.*(.)\1\1)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{8,20}$/)

返回null

于 2013-08-13T10:46:51.857 回答