Javascript字符串搜索问题

时间:2013-03-28 08:17:24

标签: javascript string search

我是JS的一名自学成才的业余爱好者,并认为现在是时候在这里注册:)

我正在尝试(并且失败)编写一个脚本,该脚本从字符串数组中取出一个字符串,并从下拉菜单中检查它是否包含某些变量关键字。我的代码:http://jsfiddle.net/apMsc/1/

我认为与下拉菜单和search / indexOf存在一些冲突。如果关键字位于字符串的开头,我的代码似乎只能工作。如果关键字埋藏得更深,search()会返回-1(我也尝试了indexOf)。

例如:

document.getElementById('result').innerHTML = test3array[0].indexOf(drop1);

test3array [0] 是字符串value1@-@ value2@-@ value1@-@ value2,而 drop1 是菜单中的变量。

如果我搜索value1,脚本将工作,但是除非我将其移动到开头,否则不会搜索value2。我也尝试使用基于之前主题的new RegExp(drop1),但它没有用。

任何建议都会受到最高的赞赏。

1 个答案:

答案 0 :(得分:0)

这是因为test3array[0]drop1都以换行符开头。如果您想要删除换行符,请在这些变量上调用trim()。例如,这有效:

document.getElementById('result').innerHTML =
    test3array[0].trim().indexOf(drop1.trim());

编辑:这里有一些提问的建议:您试图找出代码中不起作用的部分并在此处发布。在提出问题之前找到一个最小的测试用例是一个好主意,甚至经常引导您进入解决方案,但是当您这样做时,您还应该检查您的最小测试用例是否也重现了该错误。行document.getElementById('result').innerHTML = test3array[0].indexOf(drop1);本身就是正确的。