JS - jQuery inarray ignoreCase() und contains()

gut, ich bin eher ein PHP-Mensch, und meine JS Fähigkeiten sind in der Nähe keine, wenn es darum geht, jede JS andere als einfache design-bezogene Operationen , so entschuldigen Sie mich, wenn ich fordere, das offensichtliche .

folgende Operationen wäre ein Kinderspiel in PHP (und möglicherweise auch in JS, aber ich bin kämpfen mit ungewohnten syntax hier ...)

Es ist eine Art von input-Validierung

var ar = ["BRS201103-0783-CT-S", "MAGIC WORD", "magic", "Words", "Magic-Word"];

    jQuery(document).ready(function() {
        jQuery("form#searchreport").submit(function() {
        if (jQuery.inArray(jQuery("input:first").val(), ar) != -1){ 
                jQuery("#contentresults").delay(800).show("slow");

            return false;
          }

Diese Frage hat 2 Teile .

  • 1 - wie kann ich es möglich machen, dass das array groß-und Kleinschreibung ?

E. g. - BRS201103-0783-CT-S wird das gleiche Ergebnis wie brs201103-0783-ct-s UND Brs201103-0783-CT-s oder MAGIC magic Magic MaGIc

im Prinzip brauche ich etwas wie ignoreCase() für Arrays , aber ich konnte nicht finden jede Bezugnahme auf das in jQuery noch JS...

Versuchte ich toLowerCase() - aber Es funktioniert nicht auf dem array (ittirating??) und außerdem würde es lösen sich die gemischte groß-und Kleinschreibung ?

  • 2 - Wie kann ich die Funktion zu erkennen, nur Teile oder
    Kombinationen der Elemente ?

E. g. - wenn man die Typen nur "word" , ich würde es gerne zu: als "words" , und auch, wenn jemand Typen "some word" sollte es gehen (mit "word" )

  • Für 1, würde ich nur geben Sie Ihre JS-array in lowecase dann rufen Sie if (jQuery.inArray(jQuery("input:first").val().toLowerCase(), ar) != -1){, der zweite Teil der Fragen scheint ein wenig zu breit. Was sind die spezifischen Regeln? word ist enthalten in words ok, aber some word ist nicht enthalten in words.
  • danke für den Kommentar , das, was ich meinte ist some word enthält word und auch words enthält word(Teil-string...)
  • Ok, seltsamste . setzen val().toLowerCase() wird die Arbeit an einem Wort wie "Zauber/Magie" - aber jetzt ist es false zurück, wird das string BRS201103-0783-CT-S egal wie ich Sie betreten (kleine Kleinbuchstaben , Großbuchstaben oder gemischt..
  • Wahrscheinlich, weil magic Kleinbuchstaben ist im array, während BRS201103-0783-CT-S ist nicht. Überprüfen Sie alex ' Antwort, er veröffentlicht eine einfache Funktion übergeben Sie Ihre gesamte array in Kleinbuchstaben um. :)
  • Ok, ich checke es jetzt, aber nur für das Verständnis besser , wenn mein array wird alles in Kleinbuchstaben , als jeder input-Fall passieren ?
Schreibe einen Kommentar