我正在尝试在长字符串中找到一些文本,但我的代码不起作用,例如:
Var result = “<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN html><head<title>Hey i am here</title>”
if (result.search('Hey i am here')== true) {
alert('found');
} else { alert('NOT found'); }
但这不起作用:( 请帮忙
答案 0 :(得分:1)
var
小写 "
或'
分隔,但不能使用“
分隔,不要使用引号。search
方法需要一个正则表达式(尽管它会尝试转换一个字符串,如果它得到一个)indexOf
比search
更有效。search
和indexOf
都返回第一个匹配的索引(如果找不到,则返回-1
),而不是布尔值。< / LI>
醇>
顺便说一下,Doctype会触发怪癖模式,所以永远不要在真正的HTML文档中使用它。
var result = "<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN html><head<title>Hey i am here</title>"
if (result.indexOf("Hey i am here") >= 0) {
alert('found');
} else {
alert('NOT found');
}
答案 1 :(得分:0)
Search
方法返回匹配的位置,如果未找到匹配则返回-1。不是true
或false
。
答案 2 :(得分:0)
我认为你需要使用.indexOf函数。
所以你的if语句将是
if (results.indexOf('Hey i am here') != -1) {
alert('found');
} else { alert('NOT found'); }
有很多方法可以做到这一点: See here