簡體   English   中英

如何找到3個或更多連續的字符?

[英]How to find 3 or more consecutive characters?

我正在進行密碼檢查。 其中一個功能是查找輸入的密碼是否連續重復。 我還沒有代碼,因為我不知道怎么做。

我發現這一個RegEx匹配兩個或多個相同的字符非連續但它只匹配重復的逗號。

這是場景:

5236aaa121 - 重復模式,因為a連續重復3次

2312aa32aa - 沒有重復的角色

111111asd - 重復模式,因為1連續重復多次

使用后引用:/(.) /(.)\\1\\1/

例:

var hasTripple = /(.)\1\1/.test('xyzzzy');

JSFiddle示例

以下怎么樣?

(。)\\ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM