【发布时间】:2012-11-12 20:53:49
【问题描述】:
在 Google 上进行了广泛搜索后,我遇到了一个问题。我正在尝试根据我在 SO 上找到的正则表达式编写一个正则表达式
字符串必须是8-24个字符,并且
-
字符串除了长度外,还需要满足以下两个条件(最少):
- 大写
- 小写
- 数字
- 非字母数字
这是我一直在尝试修改的正则表达式:
^.*(?=.{8,24})(?=.*\d|\W)(?=.*[a-zA-Z]).*$
我需要修改它以确保密码符合上述条件。
我不能进入并以编程方式执行此操作,因为它会改变我们某些代码工作方式的其他基本原理。现在我们已经进行了正则表达式检查,所以我所要做的就是使用新表达式更新配置文件。
【问题讨论】:
-
我可以问一下,做有问题的做法会如何改变其他基本面?正则表达式并不是真正为 2/4 条件逻辑而构建的。
-
过于严格的密码策略很容易适得其反:(例如:人们只会将它们写在他们计算机旁边的便签上,或者会忘记它们,给他们带来挫败感和问题) .
-
要更改代码,我必须更新我们的许多服务器。要使用正则表达式,我更改一个设置并立即传播
-
回答问题本身;是的,您可以修改正则表达式,但它会很难看。更改代码会更好。
标签: .net regex visual-studio