使用JavaScript搜索文本

时间:2013-11-27 04:10:34

标签: javascript html html5 search web

我一直试图让这段代码起作用:

<!DOCTYPE html>
<html>
<body>
<input name="paragraph" id="paragraph" value="Paste your paragraph here!" style="width: 800px; height: 100px;"><br>
<input name="search" id="search" value="(Case sensitive) Text to search for" style="width: 400px;"><br>
<button type="button" onclick="myFunction()">Find text</button><br>
<script>
function myFunction() {
    text = document.getElementById("paragraph");
    var textSearch = document.getElementById("search");
var hits = [];


for(var i = 0; i < text.length; i++) {
    if(text[i] == "J"){
    for (var j = i; j < (textSearch.length + i); j++) {
        hits.push(text[j]);
    }

    if (hits === 0) {
        alert('Your name isn't here')
    } else {
        alert(hits);
    }
}
</script>
</body>
</html>

基本上,它尝试做的是让用户在顶部框中输入段落或大块文本,然后在下方框中尝试搜索一些文本。然后按一个按钮,它会在代码中显示它所在的位置(通过告诉用户它经历了多少个字符,直到它达到了他们正在搜索的内容)。如果你可以改进它,或者从头开始给我看一些更好的东西!

1 个答案:

答案 0 :(得分:2)

以下是您的固定版本:D

<!DOCTYPE html>
<html>
<head>
<title>
Cari teks
</title>
<script>
function myFunction() {
    var text = document.getElementById("paragraph").value;
    var textSearch = document.getElementById("search").value;

var hits = [];
var kata = text.split(" ");
var jmlkata =  kata.length;
var i = 0;
for (i=0;i<=jmlkata-1;i++){
    if (textSearch == kata[i]){
    hits.push(kata[i]);
    }
}
var jmlfound = hits.length;
      alert("found : "+jmlfound);

}
</script>
</head>
<body>
<textarea name="paragraph" id="paragraph" style="width: 800px; height: 100px;" > 
</textarea><br>
<input name="search" id="search" style="width: 400px;"><br>
<button type="button" onclick="myFunction()">Find text</button><br>
</body>
</html>

我对使用印度尼西亚语的一些部分/语言感到抱歉,但这不是问题。
我用textarea替换你的大文本输入,所以长文本会更强大 search engine只能查找1个单词。所以你必须开发这个脚本 只是用它作为参考,可能有帮助:D