2017-09-06 2 views
0

Des Versuch, eine Javascript-Methode, wie unten zu erstellen, in dem der Eingang html einscannen und dort einzuloggen, wenn eine des Eintrags in der Liste gefunden wurde ..Javascript Kodierungsverfahren mit bestimmten Schlüsselwort

warum dies besonders, da wir haben, damit somemarkup wie < oder> oder einige hTML-Schlüsselwörter, deshalb

diese Geige geschaffen für dieses https://jsfiddle.net/ronqLes5/

JS

var input ; 

$("#target").click(function() { 
var identifier =false; 
input= $("#textbox1").val(); 
console.log(input.toLowerCase()); 
    var untrustedInput = ["script","jquery", "$", "Javascript","location","href"]; 
     for (var i = 0; i < untrustedInput.length ; i++) { 
      if (input.toLowerCase().indexOf(untrustedInput[i].toLowerCase())> -1) { 
     identifier =true;     
      }  
    } 
    if(identifier){ 
    console.log("there"); 
    } 
    else 
    { 
    console.log("not there"); 
    } 
}); 
  1. würde gerne wissen, ob Sie eine schnellere und bequemere Möglichkeit haben, gibt es oder irgendeine Art von Vorschlag.

  2. Gibt es weitere Keywords, die Sie in der Liste eingeben sollten.

+1

Sie sollten wahrscheinlich diese Funktion return true oder einige truthy Wert haben, wenn die Schleife beendet, ohne falsch zurück. –

+0

Ich verstehe, dass es "kosteneffektiver" ist, [indexOf] (https://www.w3schools.com/jsref/jsref_indexof.asp) zu verwenden, um zu bestimmen, ob das Wort im 'untrustedInput' ist, auch @hello_world ist richtig, deine Funktion sollte false oder true zurückgeben, um die boolesche Logik beizubehalten ... –

+0

'' – epascarello

Antwort

1

Nur indexOf:

function CustomHtmlEndoder(input) { 
    var untrustedInput = "<script>,</script>,jquery,$,Javascript,location,href"; 
    if (input.Indexof(untrustedInput)>=0) { 
     return false; 
    }  
    else{ 
     return true; 
    } 

}

Verwandte Themen