javascript - länge - title tag wordpress




Wie überprüfe ich, ob die Zeichenfolge Teilzeichenfolge enthält? (9)

Die Methode includes () bestimmt, ob eine Zeichenfolge innerhalb einer anderen Zeichenfolge gefunden werden kann, und gibt gegebenenfalls true oder false zurück.

Syntax: -string.includes (Suchstring [, Position])

searchString: Eine Zeichenfolge, nach der in dieser Zeichenfolge gesucht werden soll.

Position: -Optional. Die Position in dieser Zeichenfolge, bei der mit der Suche nach Suchzeichenfolge begonnen werden soll. Standardwert ist 0.

string = 'LOL';
console.log(string.includes('lol')); // returns false 
console.log(string.includes('LOL')); // returns true 

Diese Frage hat hier bereits eine Antwort:

Ich habe einen Einkaufswagen, der Produktoptionen in einem Dropdown-Menü anzeigt, und wenn sie "Ja" auswählen, möchte ich einige andere Felder auf der Seite sichtbar machen.

Das Problem ist, dass der Einkaufswagen auch den Preismodifikator im Text enthält, der für jedes Produkt unterschiedlich sein kann. Der folgende Code funktioniert:

$(document).ready(function() {
    $('select[id="Engraving"]').change(function() {
        var str = $('select[id="Engraving"] option:selected').text();
        if (str == "Yes (+ $6.95)") {
            $('.engraving').show();
        } else {
            $('.engraving').hide();
        }
    });
});

Allerdings würde ich lieber so etwas verwenden, was nicht funktioniert:

$(document).ready(function() {
    $('select[id="Engraving"]').change(function() {
        var str = $('select[id="Engraving"] option:selected').text();
        if (str *= "Yes") {
            $('.engraving').show();
        } else {
            $('.engraving').hide();
        }
    });
});

Ich möchte nur die Aktion ausführen, wenn die ausgewählte Option das Wort "Ja" enthält und den Preismodifikator ignorieren würde.


ECMAScript 6 führt documentation , zuvor genannt, contains .

Es kann so verwendet werden:

'foobar'.includes('foo'); // true
'foobar'.includes('baz'); // false

Es akzeptiert auch ein optionales zweites Argument, das die Position angibt, an der die Suche beginnen soll:

'foobar'.includes('foo', 1); // false
'foobar'.includes('bar', 1); // true

Es kann polyfilled , damit es in alten Browsern funktioniert.


Es ist ziemlich spät, um diese Antwort zu schreiben, aber ich dachte darüber nach, es irgendwie einzuschließen. String.prototype verfügt nun über eine Methode, includes String.prototype kann. Diese Methode unterscheidet zwischen Groß- und Kleinschreibung.

var str = 'It was a good date';
console.log(str.includes('good')); // shows true
console.log(str.includes('Good')); // shows false

Um nach einem Teilstring zu suchen, kann der folgende Ansatz verwendet werden:

if (mainString.toLowerCase().includes(substringToCheck.toLowerCase())) {
    // mainString contains substringToCheck
}

Lesen Sie die documentation , um mehr zu erfahren.


Gibt an, wie oft das Schlüsselwort in der Zeichenfolge enthalten ist.

var count = "I have one keyword".match(/keyword/g);
var clean_count = !count ? false : count.length;

Keines der oben genannten Dinge funktionierte für mich, da es Leerzeichen gab, aber das ist, was ich getan habe

tr = table.getElementsByTagName("tr");

    for (i = 0; i < tr.length; i++) {
        td = tr[i].getElementsByTagName("td")[0];
        bottab.style.display="none";
        bottab2.style.display="none";
        if (td) {
        var getvar=td.outerText.replace(/\s+/, "") ;

            if (getvar==filter){
                tr[i].style.display = "";
            }else{
                tr[i].style.display = "none";
            }

        }
    }

Sie können auch überprüfen, ob das genaue Wort in einer Zeichenfolge enthalten ist. Z.B:

function containsWord(haystack, needle) {
    return (" " + haystack + " ").indexOf(" " + needle + " ") !== -1;
}

Verwendung:

containsWord("red green blue", "red"); // true
containsWord("red green blue", "green"); // true
containsWord("red green blue", "blue"); // true
containsWord("red green blue", "yellow"); // false

So macht jQuery seine hasClass-Methode.


Sie können eine Erweiterungsmethode definieren und später verwenden.

String.prototype.contains = function(it) 
{ 
   return this.indexOf(it) != -1; 
};

so dass Sie in Ihrer Seite überall wie verwenden können:

var str="hello how are you";
str.contains("are");

was wahr zurückgibt.

Lesen Sie weiter unten für weitere Erweiterungshilfsmethoden. Javascript-Hilfsmethoden


Sie könnten dafür die search oder match .

str.search( 'Yes' )

gibt die Position der Übereinstimmung zurück oder -1, wenn sie nicht gefunden wird.


Wenn Sie in der Lage sind, Bibliotheken zu verwenden, können Sie feststellen, dass die Lo-Dash JS-Bibliothek sehr nützlich ist. Gehen Sie in diesem Fall vor und überprüfen Sie _.contains() (ersetzt durch _.includes() ab v4).

(Hinweis: Die Lo-Dash-Konvention benennt das Bibliotheksobjekt _. Vergessen Sie nicht, die Installation auf derselben Seite zu überprüfen, um sie für Ihr Projekt einzurichten.)

_.contains("foo", "oo");     // → true
_.contains("foo", "bar");    // → false
// Equivalent with:
_("foo").contains("oo");     // → true
_("foo").contains("bar");    // → false

In Ihrem Fall, gehen Sie vor und verwenden Sie:

_.contains(str, "Yes");
// or:
_(str).contains("Yes");

..wie auch immer du es magst.







contains