2015-02-10 23 views
0

我試圖編寫一個正則表達式來驗證密碼,並且我正在努力解決這個問題。使用JS中的正則表達式驗證相關數字

我想阻止用戶使用類似相關數字:

123456 or 34567 or 6789 

,並重復號碼,如

111111 or 3333 or 2222 or 9999 

我嘗試閱讀和使用在線工具,正則表達式,但我會很感激一些這方面的援助。

注意:我想允許用戶在密碼中包含相關和重複的段。下面的輸入應該通過我的驗證:

qwerty1234 hidude222 weirdp455 

在此先感謝。

+0

'我想阻止用戶使用相關numbers','注:我希望允許用戶以包括password.' – 2015-02-10 02:29:43

+0

什麼關聯和重複段你試過嗎? – 2015-02-10 02:30:03

+0

你能解釋兩者的區別嗎?你想允許還是不允許? – 2015-02-10 02:31:27

回答

0

這可能會爲你工作

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 S的一個。

demo fiddle

更新,與此擺弄,我做了這個正則表達式,將搜索包含連續數字的字符串,如果它的整個字符串相匹配。

^(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))))))))))+$ 
+0

謝謝你,我試過這個,但我想以一種不太冗長的方式解決這個問題。我的意思是沒有不敬,我感謝你的時間。 – crisJS 2015-02-10 03:01:21