在javascript中,是否有等效的String.indexOf()接受正則表達式而不是第一個第一個參數的字符串,同時仍允許第二個參數?我需要做類似的事情str.indexOf(/[abc]/ , i);和str.lastIndexOf(/[abc]/ , i);雖然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)]) ; }}我正在測試如下,以確保至少對于一個字符正則表達式,其結果與我們使用indexOf相同//在xes test('xxx')中尋找a ;測試('axx'); 測試('xax'); 測試('xxa'); 測試('axa'); 測試('xaa'); 測試('aax'); 測試('aaa');
JavaScript的String.indexOf()是否有允許正則表達式的版本?
江戶川亂折騰
2019-10-25 10:41:58