正则表达式验证JavaScript中的连续字符或数字?

时间:2013-04-05 05:36:59

标签: javascript

我需要验证字符串是否表示连续字符如abc,def,ghi或123,234,345,456等使用JavaScript,想要通过错误或警告消息。匹配模式或表达式是否有可能验证此类情况。如果有任何问题,请尽快告诉我。

提前致谢!!!

2 个答案:

答案 0 :(得分:1)

正则表达式不适合这个。如果每个字符都比使用str.charCodeAt()的最后一个字符更大,那么更好的方法是遍历字符串检查中的所有字符。

答案 1 :(得分:0)

不应使用正则表达式。它们没有“记忆”,这意味着你不能动态地寻找这样的序列。相反,您必须手动构建每个可能的可接受序列

更好的想法是使用for循环遍历字符串并进行必要的断言,如下所示:

for (var i = 0; i < str.length; ++i) {
    if (str.charCodeAt(i) === str.charCodeAt(i + 1) - 1 &&
        str.charCodeAt(i) === str.charCodeAt(i + 2) - 2) {
        var ret = str.substr(i, i + 3);
        // do whatever you want to do with the match
    }
}