Javascript 在JS中使用正则表达式验证相关数字

Javascript 在JS中使用正则表达式验证相关数字,javascript,regex,validation,Javascript,Regex,Validation,我正试图编写一个正则表达式来验证密码,尤其是在这一点上 我想防止用户使用相关数字,如: 123456 or 34567 or 6789 还有重复的数字,比如 111111 or 3333 or 2222 or 9999 我试着阅读和使用一个在线正则表达式工具,但我真的很感谢一些帮助 注意:我想允许用户在密码中包含相关和重复的段。以下输入应通过我的验证: qwerty1234 hidude222 weirdp455 提前谢谢。这可能适合您 thenums = "4567"; if (then

我正试图编写一个正则表达式来验证密码,尤其是在这一点上

我想防止用户使用相关数字,如:

123456 or 34567 or 6789
还有重复的数字,比如

111111 or 3333 or 2222 or 9999
我试着阅读和使用一个在线正则表达式工具,但我真的很感谢一些帮助

注意:我想允许用户在密码中包含相关和重复的段。以下输入应通过我的验证:

qwerty1234 hidude222 weirdp455
提前谢谢。

这可能适合您

thenums = "4567";
if (thenums.match(/(0123|1234|2345|3456|4567|5678|6789|7890|(\d)\2\2\2)/)) {
    alert("bad number sequence, bad!");
}
这将在变量中的任何位置查找4位连续字符串或4位相同的字符串。如果要匹配整个字符串,可以执行以下操作

thenums = "4567";
if (thenums.match(/^(0123|1234|2345|3456|4567|5678|6789|7890|(\d)\2\2\2)$/)) {
    alert("bad number sequence, bad!");
}
如果您希望在三位数重复时跳闸,可以删除其中一个\2

更新,摆弄这个,我做了这个正则表达式,如果它匹配整个字符串,它将搜索包含序列号的字符串

^(0(?=$|1(?=$|2(?=$|3(?=$|4(?=$|5(?=$|6(?=$|7(?=$|8(?=$|9)))))))))|1(?=$|2(?=$|3(?=$|4(?=$|5(?=$|6(?=$|7(?=$|8(?=$|9(?=$|0)))))))))|2(?=$|3(?=$|4(?=$|5(?=$|6(?=$|7(?=$|8(?=$|9(?=$|0(?=$|1)))))))))|3(?=$|4(?=$|5(?=$|6(?=$|7(?=$|8(?=$|9(?=$|0(?=$|1(?=$|2)))))))))|4(?=$|5(?=$|6(?=$|7(?=$|8(?=$|9(?=$|0(?=$|1(?=$|2(?=$|3)))))))))|5(?=$|6(?=$|7(?=$|8(?=$|9(?=$|0(?=$|1(?=$|2(?=$|3(?=$|4)))))))))|6(?=$|7(?=$|8(?=$|9(?=$|0(?=$|1(?=$|2(?=$|3(?=$|4(?=$|5)))))))))|7(?=$|8(?=$|9(?=$|0(?=$|1(?=$|2(?=$|3(?=$|4(?=$|5(?=$|6)))))))))|8(?=$|9(?=$|0(?=$|1(?=$|2(?=$|3(?=$|4(?=$|5(?=$|6(?=$|7)))))))))|9(?=$|0(?=$|1(?=$|2(?=$|3(?=$|4(?=$|5(?=$|6(?=$|7(?=$|8))))))))))+$
和一个格式化版本,为您的观赏乐趣

^(0(?=$|1(?=$|2(?=$|3(?=$|4(?=$|5(?=$|6(?=$|7(?=$|8(?=$|9)))))))))
|1(?=$|2(?=$|3(?=$|4(?=$|5(?=$|6(?=$|7(?=$|8(?=$|9(?=$|0)))))))))
|2(?=$|3(?=$|4(?=$|5(?=$|6(?=$|7(?=$|8(?=$|9(?=$|0(?=$|1)))))))))
|3(?=$|4(?=$|5(?=$|6(?=$|7(?=$|8(?=$|9(?=$|0(?=$|1(?=$|2)))))))))
|4(?=$|5(?=$|6(?=$|7(?=$|8(?=$|9(?=$|0(?=$|1(?=$|2(?=$|3)))))))))
|5(?=$|6(?=$|7(?=$|8(?=$|9(?=$|0(?=$|1(?=$|2(?=$|3(?=$|4)))))))))
|6(?=$|7(?=$|8(?=$|9(?=$|0(?=$|1(?=$|2(?=$|3(?=$|4(?=$|5)))))))))
|7(?=$|8(?=$|9(?=$|0(?=$|1(?=$|2(?=$|3(?=$|4(?=$|5(?=$|6)))))))))
|8(?=$|9(?=$|0(?=$|1(?=$|2(?=$|3(?=$|4(?=$|5(?=$|6(?=$|7)))))))))
|9(?=$|0(?=$|1(?=$|2(?=$|3(?=$|4(?=$|5(?=$|6(?=$|7(?=$|8))))))))))+$

我想防止用户使用相关的数字,注意:我想允许用户在密码中包含相关的和重复的段。你尝试过什么?你能解释一下两者之间的区别吗?您想允许还是不允许?我怀疑您能否用一个正则表达式来实现这一点。如果可以,它将是一个怪物。最好使用一系列定义良好的测试,这些测试使用适当的机制,可能是正则表达式,也可能不是。您可以发布一些有效和无效的示例吗?谢谢,我已经尝试过了,但我想用一种不太详细的方式来解决这个问题。我不是不尊重你,谢谢你抽出时间。