【发布时间】:2012-04-03 08:59:36
【问题描述】:
在 Titanium 中,String 的移动 indexOf 函数无法正常工作。
console.log( "test2".indexOf( /tes/i ) );
总是给-1
【问题讨论】:
标签: javascript titanium titanium-mobile
在 Titanium 中,String 的移动 indexOf 函数无法正常工作。
console.log( "test2".indexOf( /tes/i ) );
总是给-1
【问题讨论】:
标签: javascript titanium titanium-mobile
indexOf 不接受 RegExp 参数:它只接受一个字符串。您的正则表达式将转换为字符串 ("/tes/i"),然后用作 indexOf 的参数。显然,在这种情况下这不会找到任何东西。
这在所有 Javascript 引擎中都是如此,而不仅仅是在 Titanium 中。
【讨论】:
您可能需要添加引号,因为它不支持正则表达式,您只能提供字符串:
console.log( "test2".indexOf( '/tes/i' ) );
但在这种情况下,它仍然找不到任何东西,因为您提供的是正则表达式。然而,这将返回一个结果
console.log( "test2".indexOf( 'tes' ) );
对于正则表达式,您可能希望使用原生 JavaScript,Titanium 完全支持该功能
【讨论】:
这对你有用吗?
/tes/i.test('test2')
【讨论】: