12 Stimmen

Filtern von Zeichenfolgen, die nur Leerzeichen enthalten, in JavaScript

Ich habe ein Textfeld sammeln Benutzereingaben in meinem JS-Code. Ich möchte Junk-Eingabe zu filtern, wie Zeichenfolgen, die nur Leerzeichen enthalten.

In C# würde ich den folgenden Code verwenden:

if (inputString.Trim() == "") Console.WriteLine("white junk");
else Console.WriteLine("Valid input");

Haben Sie eine Empfehlung, wie man das Gleiche in JavaScript machen kann?

18voto

bobince Punkte 512550

Die trim() Methode für Strings ist im ECMAScript Fifth Edition Standard vorhanden und wurde von Mozilla (Firefox 3.5 und verwandte Browser) implementiert.

Bis die anderen Browser nachziehen, können Sie sie auf diese Weise einrichten:

if (!('trim' in String.prototype)) {
    String.prototype.trim= function() {
        return this.replace(/^\s+/, '').replace(/\s+$/, '');
    };
}

dann:

if (inputString.trim()==='')
    alert('white junk');

13voto

Mark Byers Punkte 761508

Verwenden Sie einen regulären Ausdruck:

if (inputString.match(/^\s*$/)) { alert("not ok"); }

oder noch einfacher:

if (inputString.match(/\S/)) { alert("ok"); }

Die \S bedeutet "jedes Zeichen, das kein Leerzeichen ist".

2voto

Skilldrick Punkte 66961

Alternativ dazu, /^\s*$/.test(inputString)

1voto

Jerome Cance Punkte 7967
function trim (myString)
{
    return myString.replace(/^\s+/,'').replace(/\s+$/,'')
} 

verwenden Sie es so: if (trim(myString) == "")

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X