繁体   English   中英

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

[英]Validate correlative numbers using Regular Expressions in JS

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

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

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))))))))))+$

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM