为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

在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');
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 2236 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信