Javascript找不到包含方括号的字符串

时间:2010-08-30 13:00:38

标签: javascript string square-bracket

我正在使用此功能帮助我的web开发人员在网页中找到一段代码:

function findString (str) {
  var strFound;
  strFound=self.find(str);
  if (strFound && self.getSelection && !self.getSelection().anchorNode ){   
    strFound=self.find(str);
  }
  if (!strFound) {
    strFound=self.find(str,1,1)
    while (self.find(str,1,1)) continue
  }
}

问题是,当我输入以下字符串时,例如:

array[1]

找不到它!这很奇怪,因为我尝试了这个功能,它可以找到任何其他字符串。 那么,我如何使用这个函数来查找包含方括号的字符串(如果可能的话,不使用正则表达式)?

谢谢,

此致

2 个答案:

答案 0 :(得分:0)

调用哪个对象函数find?那是一扇窗户吗?是的,函数find到底是什么?根据文件,它是:

find()方法在调用时显示查找对话框。 这允许用户在调用它的页面中搜索字符串。

这是否意味着HTML令牌未被处理,而您正在寻找HTML令牌数组[1]?哪些浏览器是支持的功能?

实现服务器端搜索的一种方法是读取整个文件(假设您知道文件的位置)并使用字符串函数search

执行简单的正则表达式

答案 1 :(得分:0)

我试过你的脚本,但它有一个错误。如果您替换以下

if (strFound && self.getSelection && !self.getSelection().anchorNode )  

通过以下

if (strFound && self.getSelection && !self.getSelection().anchorNode )  {

它有效。

在Firefox和Chrome中,当搜索的字符串为array [1]时,strFound为true。 在IE 8中,脚本不起作用。

编辑:我测试的代码:

$(document).ready(function() {
    findString("array[1]");
});

function findString (str) {
    var strFound;
    strFound=self.find(str);
    if (strFound && self.getSelection && !self.getSelection().anchorNode )  {
        strFound=self.find(str);
    }
    if (!strFound) {
        strFound=self.find(str,1,1)
        while (self.find(str,1,1)) continue
    }
    alert(strFound);
 }