相关疑难解决方法(0)

是否有允许正则表达式的JavaScript的String.indexOf()版本?

在javascript中,是否有一个等效的String.indexOf()为第一个第一个参数采用正则表达式而不是字符串,同时仍然允许第二个参数?

我需要做点什么

str.indexOf(/[abc]/ , i);
Run Code Online (Sandbox Code Playgroud)

str.lastIndexOf(/[abc]/ , i);
Run Code Online (Sandbox Code Playgroud)

虽然String.search()将regexp作为参数,但它不允许我指定第二个参数!

编辑:
事实证明这比我原先想象的要难,所以我编写了一个小测试函数来测试所有提供的解决方案......它假设regexIndexOf和regexLastIndexOf已被添加到String对象中.

function test (str) {
    var i = str.length +2;
    while (i--) {
        if (str.indexOf('a',i) != str.regexIndexOf(/a/,i)) 
            alert (['failed regexIndexOf ' , str,i , str.indexOf('a',i) , str.regexIndexOf(/a/,i)]) ;
        if (str.lastIndexOf('a',i) != str.regexLastIndexOf(/a/,i) ) 
            alert (['failed regexLastIndexOf ' , str,i,str.lastIndexOf('a',i) , str.regexLastIndexOf(/a/,i)]) ;
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在测试如下以确保至少对于一个字符regexp,结果与我们使用indexOf时相同

//在xes
test('xxx')中查找a ;
试验( 'AXX');
试验( 'XAX');
试验( 'XXA');
试验( 'AXA');
试验( '的Xaa');
试验( 'AAX');
试验( 'AAA');

javascript regex indexof

201
推荐指数
7
解决办法
14万
查看次数

标签 统计

indexof ×1

javascript ×1

regex ×1