Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ASP中的正则表达式伏都教_Javascript_Regex_Validation_Vbscript_Asp Classic - Fatal编程技术网

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

Javascript ASP中的正则表达式伏都教,javascript,regex,validation,vbscript,asp-classic,Javascript,Regex,Validation,Vbscript,Asp Classic,啊,幸好我在这样的日子里不付薪水。我将一些正则表达式模式从客户端Javascript复制到服务器端ASP,电子邮件模式毫无问题,但密码模式的相同功能今天花了我老板6个小时(我们的小秘密) 这是一个简单的1上、1下、1位、6-10个字符的模式,毫无疑问它应该匹配,但例如3DMM9igggg返回false,但gDMM9igggg返回true。它在JS、here:、以及我尝试过的其他几个测试程序中工作良好 WTF?有人能帮我看一下吗 谢谢可能是您的特定ASP正则表达式引擎不支持与javascript引

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

这是一个简单的1上、1下、1位、6-10个字符的模式,毫无疑问它应该匹配,但例如3DMM9igggg返回false,但gDMM9igggg返回true。它在JS、here:、以及我尝试过的其他几个测试程序中工作良好

WTF?有人能帮我看一下吗


谢谢

可能是您的特定ASP正则表达式引擎不支持与javascript引擎相同的lookaheads。根据本链接高级主题下的第4段,某些发动机的情况就是这样:

第5段中还有一个基于前瞻性的密码测试示例


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

谢谢。看来你是对的,这是正确的。我被困在这个项目的GoDaddy服务器上,他们似乎决心让开发人员的生活尽可能艰难。他们的鲨鱼海滩卡通500错误页面是什么?(旁白:如果对任何人都有帮助的话,可以使用web.config文件来解决这个问题)即使是最简单的模式也无法使用?=。鲍勃·帕森斯又罢工了。啊,是的。只需要使用三个测试。对于其中一些规则,为什么还要使用正则表达式呢?@JoelCoehoorn,阿门。正则表达式可能很昂贵。将密码限制在10个字符是邪恶和错误的。我不同意给出一点上下文(你不知道这个项目,所以真的为什么这么不灵活?)。这是62个可能的字符到第十次方大声叫喊。这几乎是五分之一的可能性。此外,它的目的是限制你玩黑客游戏的空间。我采取了我的预防措施,但如果你想出一些新的或我没有考虑到的东西,你只有10个字符来完成它。
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