在javascript中搜索文本文件中的字符串

时间:2014-06-15 16:19:54

标签: javascript mobile tizen

我正在使用Java Script为移动设备创建一个Dictionary应用程序。我已将Dictionary源存储在一个单独的文件中。我怀疑的是如何访问该文件并使用Java Script搜索特定字符串。

function dic() {
    var word = document.getElementById("wo").value;
    var dictionary = new Array("Java","Python","Swift","HTML","PHP");
    var flag = 0;
    for(var i = 0; i < dictionary.length; i++) {
        if(dictionary[i] == word) {
            document.getElementById("result").innerHTML = "Element Found";
            flag = 1;
            break;
        }
    }
    if(flag == 0)
        document.getElementById("result").innerHTML = "Element Not Found";  

}

此脚本检查数组中的单词。我想将数组字替换为文本文件。提前致谢

1 个答案:

答案 0 :(得分:3)

要访问该文件,请使用jQuery的.get()功能。这也可以在纯JS中使用XMLHttpRequests完成,但jQuery将为您处理跨浏览器兼容性。

获取文件:

$.get("http://www.example.com/path/to/file.txt",function(returnedData) {
    $("#element").text(returnedData);
},"text/plain");

这会将http://www.example.com/path/to/file.txt的内容加载到ID为div的{​​{1}}。假设每个字典单词都在一个新行上,您可以将它们分成如下数组:

element

现在您的数组中有字典单词,可以使用现有代码搜索它们(进行一些更正):

var text = $("#element").text();
var words = text.split("\n");
var dictionary = new Array();
for(var i=0; i < words.length; i++) {
    dictionary[i] = words[i];
}

这应该给你一个正确的答案。

希望这有帮助。

修改
我的第二个代码示例中的部分代码是不必要的,只是为了清楚起见;事实上,您可以只声明function dic() { var word = document.getElementById("wo").value; // var dictionary = new Array("Java","Python","Swift","HTML","PHP"); // This line is unnecessary; use the dictionary var already created. var flag = 0; for(var i = 0; i < dictionary.length; i++) { if(dictionary[i] == word) { document.getElementById("result").innerHTML = "Element Found"; flag = 1; break; } if(i == dictionary.length - 1) { document.getElementById("result").innerHTML = "Element Not Found"; } } } ,这将产生相同的结果。