如何找到3个或更多的连续字符

How to find 3 or more consecutive characters?

本文关键字:连续 字符 何找 3个      更新时间:2023-09-26

我正在进行密码检查。其中一个功能是查找输入的密码是否连续重复。我还没有代码,因为我不知道怎么做。

我发现这一个RegEx匹配两个或多个相同的字符非连续的,但它只匹配重复的逗号。

以下是场景:

5236aaa121 -重复模式,因为a连续重复3次

2312aa32aa -无重复字符

111111asd -重复模式,因为1连续重复多次

使用反向引用:/(.)'1'1/

的例子:

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

JSFiddle示例

下面这个呢?

(。)' 1 {2,}

试试这个正则表达式:() ' ' 1 +

/(.)'1'1+/g

点匹配任何字符,那么我们将在一行中查找多个字符。我在http://regexpal.com/上测试了它,我相信它做了你想要的

你可以这样使用:

str.match(/(.)'1'1+/g).length

检查它是否为0

查看实际情况....http://jsfiddle.net/yentc/2/

你只是通过for循环迭代字符串,并将一个与下一个进行比较,如果两者相同,则增加一个(为count声明一个变量)..最后检查计数值,如果大于0,则字符串为重复模式…

你可以这样做:

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;
}