【问题标题】:indexOf does not work properly in Titanium mobileindexOf 在 Titanium 移动版中无法正常工作
【发布时间】:2012-04-03 08:59:36
【问题描述】:

在 Titanium 中,String 的移动 indexOf 函数无法正常工作。

console.log( "test2".indexOf( /tes/i )  );

总是给-1

【问题讨论】:

    标签: javascript titanium titanium-mobile


    【解决方案1】:

    indexOf 不接受 RegExp 参数:它只接受一个字符串。您的正则表达式将转换为字符串 ("/tes/i"),然后用作 indexOf 的参数。显然,在这种情况下这不会找到任何东西。

    这在所有 Javascript 引擎中都是如此,而不仅仅是在 Titanium 中。

    【讨论】:

      【解决方案2】:

      您可能需要添加引号,因为它不支持正则表达式,您只能提供字符串:

      console.log( "test2".indexOf( '/tes/i' )  );
      

      但在这种情况下,它仍然找不到任何东西,因为您提供的是正则表达式。然而,这将返回一个结果

      console.log( "test2".indexOf( 'tes' )  );
      

      对于正则表达式,您可能希望使用原生 JavaScript,Titanium 完全支持该功能

      【讨论】:

        【解决方案3】:

        这对你有用吗?

        /tes/i.test('test2')
        

        【讨论】:

          猜你喜欢
          • 2018-02-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-05-01
          • 2016-03-07
          • 2016-10-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多