我正在尝试编写一个RegEx用于密码验证,但我无法弄清楚如何正确地执行此操作。 到目前为止,我的RegEx看起来像:
regexp = "^(?=.*[0-9]){1,3}(?=.*[a-zA-Z]){1,3}(?=\\s+$)$"
关于密码规则:
A)必须包括数字,大写和小写字母。
B)一行中的字母或数字必须小于4.(例如,不允许使用1234和dcba)
C)相同字符的数量不超过3.(例如,不允许使用aaaa和0000)
感谢。
答案 0 :(得分:1)
我认为用单一的正则表达式来检查它是不可能的 即使有可能正则表达式会很长且不可读。
这里有一些原因:
你应该检查所有额外的东西(例如在方法中),如果它是正确的,如果你把所有你的有效性合并。
例如对于C:拆分为字符并计算它们 性能改进的提示:如果你检查一个并且它是假的 - 不要检查其他的(也在方法本身)。
一般:正则表达式是一个表达式,用于检查字符串是否具有正确顺序的正确字符。
因此,您可以检查它是否是有效的http(s)请求,因为订单已修复且只有域发生更改。但(简单)基本是:http
+可选s
+ //
+最少3个字符(特定一个)+ .
+最少3个字符(特定一个)。<登记/>
Here are some other good examples.
答案 1 :(得分:0)
我不相信只用一个正则表达式就可以做到这一点。而是提出一种扫描字符串(密码)并验证您对所述密码的要求的算法。