他のJavascriptエンジンについては知りませんが、ChromeやNode.jsを含むV8ではString.prototype.search
、予期しない動作をします。
> "054".search("0.4")
0 // expected -1
> "Sample String 007".search("0.7")
14 // expected -1
> "Sample String 0.7".search("0.7")
14 // expected behavior
これが予想される動作である場合、それはなぜですか?そして、これが予想される動作である場合、正規表現を使用せずに文字列を適切に検索するにはどうすればよいですか?