Don P: Reg. Ausdrück zur Sucher innerhalb eines Strings?!

Beitrag lesen

Hallo,

Abend!

Ich habe ein kleines Problem beim Durchsuchen von Textinhalten bzw. Strings.
Hier meine Funktion mit Kommentaren.

// Text bzw. Inhalt aus einem DIV Layer lesen
var search_field_content = document.getElementById(search_field).innerHTML;
var search_field_regexec = /(search_keyws)/i;
// Suche im Feld zwischenspeichern
var result_field = search_field_regexec.test(search_field_content);
// Suchbegriff vorhanden?
if(result_field == true){
  // Feld mit Suchbegriff gefunden
  alert("Feld: " + search_field + " | " + search_field_content);
}else{
  // Suchbegriff nicht vorhanden!
  alert("nix!");
}

Der Name search_field_regexec kommt mir seltsam vor: Die Bezeichnung RegEx kommt nicht von execute (Ausführen), sondern von expression (Ausdruck). "search_field_regex" wäre also schöner, aber das ist nicht das Problem.

Es funktioniert alles bis auf die Suche anhand der Suchbegriffe in dem INPUT Feld welches mit "/(search_keyws)/i" durchsucht wird. Etwas hilfe würde sehr gut tuen :)

Mit

var search_field_content = document.getElementById(search_field).innerHTML;

bekommst du nicht den eingegebenen Text vom Input-Feld. Die entsprechende Eigenschaft heißt nicht .innerHTML, sondern .value

Mit

var search_field_regexec = /(search_keyws)/i;

suchst du tatsächlich nach den Zeichen "search_keyws" in genau dieser Reiehnfolge, nur Groß-/Kleinschreibung wir ignoriert (wegen /i). Bist du dicher, dass diese Zeichen in deinem search_field_content auch vorhanden sind? Sonst wird natürlich auch nichts gefunden.

Vielleicht möchtest du lieber nach etwas sinnvollem suchen, was möglicherweise auch wirklich vorkommt.

Statt

if(result_field == true){

schreibt man besser einfach nur
if(result_field){

Gruß, Don P