[英]How to find 3 or more consecutive characters?
我正在進行密碼檢查。 其中一個功能是查找輸入的密碼是否連續重復。 我還沒有代碼,因為我不知道怎么做。
我發現這一個RegEx匹配兩個或多個相同的字符非連續但它只匹配重復的逗號。
這是場景:
5236aaa121 - 重復模式,因為a
連續重復3次
2312aa32aa - 沒有重復的角色
111111asd - 重復模式,因為1
連續重復多次
以下怎么樣?
(。)\\ 1 {2,}
你只需通過for循環迭代字符串並比較一個和下一個如果兩者相同然后再增加1(聲明一個變量用於計數)。最后檢查計數值如果它大於0那么字符串重復模式...
試試這個正則表達式:(。)\\ 1 \\ 1+
/(.)\1\1+/g
點匹配任何字符,然后我們正在尋找連續多個字符。 我在http://regexpal.com/上測試了它,我相信它能做你想要的
你可以這樣使用:
str.match(/(.)\1\1+/g).length
只需檢查它是否為0
看到這個在行動.... http://jsfiddle.net/yentc/2/
你可以這樣做:
var password = '5236aaa121';
for(var i = 0; i< password.length; i++) {
var numberOfRepeats = CheckForRepeat(i, password, password.charAt(i));
//do something
}
function CheckForRepeat(startIndex, originalString, charToCheck) {
var repeatCount = 1;
for(var i = startIndex+1; i< password.length; i++) {
if(originalString.charAt(i) == charToCheck) {
repeatCount++;
} else {
return repeatCount;
}
}
return repeatCount;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.