如何找到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,}
试试这个正则表达式:() ' ' 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;
}
相关文章:
- 如何限制同一个字符连续使用
- 如何检测每个连续字符与前一个字符相差最小字母差的字符序列(1)
- 如何在不丢失格式的情况下连续淡入() 元素文本的每个字符,包括嵌套元素
- Javascript 密码不应包含用户的帐户名或用户全名中超过两个连续字符的部分
- Javascript 正则表达式避免连续两次使用相同的字符
- 正则表达式不允许连续使用多个特殊字符
- 识别 Javascript 字符串中的连续十六进制字符块
- 正则表达式拒绝连续字符
- 匹配集合中连续出现的多个字符
- 将文本输入限制为由非连续字符分隔的数字组
- Regex电子邮件验证-域中没有连续的连字符
- 当4个字母字符连续出现时,Regex进行过滤
- 需要使用JavaScript过滤掉字符串中重复的连续字符
- 在JavaScript中验证连续字符或数字的正则表达式
- 如何找到3个或更多的连续字符
- Regex:两个或多个连续字符或字符序列
- 用javascript将连续字符序列隐藏到数组中
- Regex拒绝包括大写字母在内的连续字符
- 字符串必须匹配 set 中的 7 位数字和可选的非连续字符
- JavaScript 中的正则表达式拒绝 3 个连续字符