0){ -6ren">
gpt4 book ai didi

javascript - 简单的 javascript search() 函数不起作用

转载 作者:行者123 更新时间:2023-11-30 08:52:51 25 4
gpt4 key购买 nike

我试图在另一个字符串中找到一些字符串部分。我找到了一个名为 search() 的函数并尝试了这个:

if("http://www.google.de".search("http://") > 0){
alert('with http');
} else {
alert('no http');
}

但它给了我 no http 即使它有 http:// 部分。这是 fiddle : http://jsfiddle.net/xXTuY/2/

你能帮帮我吗?

最佳答案

首先,String#search需要一个正则表达式,而不是一个字符串。如果遇到非正则表达式,它会尝试通过 new RegExp(patt) 将其转换为正则表达式。如果是字符串,它将字符串视为正则表达式模式。这意味着如果搜索字符串包含在正则表达式中具有特殊含义的字符,您的搜索将出现意外行为(匹配多于预期、匹配少于预期甚至抛出语法错误,如果字符串不是有效的正则表达式)。使用 indexOf相反。

其次,searchindexOf 返回第一个匹配项的位置,如果没有找到匹配项则返回-1。这意味着如果返回值小于零,则没有找到任何东西。如果返回值为零,则在字符串的开头进行了匹配。

另请注意,x != -1 有一个方便的快捷方式:按位取反 ~x

if("http://www.google.de".indexOf("http://") > -1){
alert('with http');
} else {
alert('no http');
}

关于javascript - 简单的 javascript search() 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16260120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com