首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP中的正则表达式伏都教

ASP中的正则表达式伏都教
EN

Stack Overflow用户
提问于 2011-11-18 03:54:25
回答 1查看 264关注 0票数 2

啊,幸好我在这样的日子里不发工资。我从我的客户端Javascript复制了一些正则表达式模式到服务器端ASP,电子邮件模式没有问题,但是密码模式的相同功能今天花费了我的老板6个小时(我们的小秘密)。

代码语言:javascript
复制
Function validatePassword(strPass)
  Dim regEx
  Set regEx = new RegExp

  regEx.IgnoreCase = false
  regEx.global = false
  regEx.Pattern = "^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,10}$"
  ValidatePassword = regEx.Test(strPass)
End Function

这是一个简单的1个大写,1个小写,1个数字,6-10个字符的模式,毫无疑问,它应该匹配,但ex。3DMM9igggg返回false,但gDMM9igggg返回true。它在JS中工作得很好,在这里:http://www.regular-expressions.info/javascriptexample.html,以及我尝试过的其他几个测试程序。

见鬼?谁能把他们的眼睛借给我用一下?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2011-11-18 04:01:56

这可能是因为您的特定ASP正则表达式引擎不像javascript引擎那样支持lookahead。这是一些引擎的情况,根据此链接上高级主题下的第4段:http://msdn.microsoft.com/en-us/library/ms972966.aspx#regexnet_topic13

在第五段中还有一个基于lookahead的密码测试的例子。

如果问题确实出在引擎上,一个简单但低效的解决方案是运行3个测试:一个测试上端,一个下端,一个包含长度测试的数字。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8173392

复制
相关文章

相似问题

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