Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript字符串搜索,什么能解决它?_Javascript - Fatal编程技术网

Javascript字符串搜索,什么能解决它?

Javascript字符串搜索,什么能解决它?,javascript,Javascript,问题是,当我组合两个函数时: 获取网站的HTML标记的所有id 在数组中搜索“坏单词”(又名“Hack”、“Hacker”等) 代码1: var eleng=document.documentElement.getElementsByTagName('*').length -1; var i=0; var id=[]; function allids() { if (i < eleng) { id.push(document.documentElement.get

问题是,当我组合两个函数时:

  • 获取网站的HTML标记的所有id
  • 在数组中搜索“坏单词”(又名“Hack”、“Hacker”等)
  • 代码1:

    var eleng=document.documentElement.getElementsByTagName('*').length -1;
    var i=0;
    var id=[];
    function allids() {
    
        if (i < eleng) {
            id.push(document.documentElement.getElementsByTagName('*')[i].id);
            if (id[i] == '' || id[i] == ' ') {
                i++;
                allids();
            } else {
                console.log(id[i]);
                i++;
                allids();
            }
        } else {
            console.log("\nDone!");
        }
    
    }
    
    var eleng=document.documentElement.getElementsByTagName('*').length-1;
    var i=0;
    var id=[];
    函数allids(){
    if(i
    代码2:

    var str="HELLO";
    var words=['hello','hack','hacker'];
    var i=0;
    function check() {
        if (str.indexOf(words[i]) > -1 || str.indexOf(words[i].charAt(0).toUpperCase()) > -1 || str.indexOf(words[i].toUpperCase()) > -1) {
        console.log('Word Found!');
    } else {
        if (i < words.length) {
            i++;
            check();
        }
       }
     }
    
    var str=“你好”;
    var words=['hello','hack','hacker'];
    var i=0;
    函数检查(){
    if(str.indexOf(words[i])>-1 | | str.indexOf(words[i].charAt(0).toUpperCase())>-1 | | str.indexOf(words[i].toUpperCase())>-1){
    console.log('wordfound!');
    }否则{
    如果(i
    当然,代码2将在一个已经尝试过的新函数中,但没有成功:(并且它将根据代码1的需要进行编辑,我只是不想费心重新编写脚本来满足代码。我喜欢“另存为”,但如果不方便,请告诉我


    另外,我使用的是香草Javascript,所以这意味着没有像Jquery这样奇特的东西!

    使用这段代码来检查javscript中数组的索引

    var array = ["rose", "violet", "blue"];
    
    array.indexOf("blue"); // Gives 2
    

    可在此处找到枚举页面上所有ID的快速脚本:

    然后我们将它们组合成一个字符串,并按如下方式测试坏词:

    var-allegements=document.getElementsByTagName(“*”);
    var allIds=[];
    对于(var i=0,n=allElements.length;i-1){
    console.log('wordfound!');
    }
    });
    }
    
    
    str的实际值是多少?将这两个值结合起来是什么意思scripts@what是你的问题吗?数组是否仍然保留坏字?你在组合这两个脚本时有困难吗?你为什么要将所有这些都声明为全局变量?为什么var i声明为全局变量,而不是至少作用于一个函数?intent只能运行该函数一次?OP,您可以通过以下操作缩小选择器的范围:
    var allIds=document.querySelectorAll('[id]')
    。获取页面上具有属性
    id
    的所有元素。区分大小写如何?您可以使用
    String.prototype.toLowerCase.call(array).split(','))
    先转换为相同格式。感谢您的快速回复,谢谢您的帮助:)