Ich versuche zu ermitteln, ob ein Benutzer Leerzeichen in ein Textfeld eingibt:
var regex = "^\s+$" ;
if($("#siren").val().match(regex)) {
echo($("#siren").val());
error+=1;
$("#siren").addClass("error");
$(".div-error").append("- Champ Siren/Siret ne doit pas etre vide<br/>");
}
if($("#siren").val().match(regex))
soll Whitespace-Zeichenfolge entsprechen, scheint jedoch nicht zu funktionieren.
Danke für eure Hilfe
Der \
(umgekehrter Schrägstrich) im .match
-Aufruf wird nicht ordnungsgemäß mit Escapezeichen versehen. Es wäre jedoch einfacher, ein Regex-Literal zu verwenden. Entweder wird funktionieren:
var regex = "^\\s+$";
var regex = /^\s+$/;
Beachten Sie auch, dass +
mindestens ein Leerzeichen benötigt. Möglicherweise möchten Sie *
verwenden.
Wenn Sie jQuery verwenden, haben Sie .trim()
.
if ($("#siren").val().trim() == "") {
// it's empty
}
Wenn Sie zusätzlich zu Whitespace nach einem leeren String suchen, müssen Sie * anstelle von + verwenden
var regex = /^\s*$/ ;
^
Das ist meine Lösung
var error=0;
var test = [" ", " "];
if(test[0].match(/^\s*$/g)) {
$("#output").html("MATCH!");
error+=1;
} else {
$("#output").html("no_match");
}
Wenn man sich nur um Leerzeichen am Anfang und Ende des Strings kümmert (aber nicht in der Mitte), kann man auch String.trim () verwenden:
" your string contents ".trim();
// => "your string contents"
Hatte ein ähnliches Problem, suchte nach Leerzeichen in einer Zeichenfolge, Lösung:
So suchen Sie nach einem Leerzeichen:
var regex = /^.+\s.+$/ ;
beispiel: "Benutzer Nachname"
So suchen Sie nach mehreren Leerzeichen:
var regex = /^.+\s.+$/g ;
beispiel: "Nachname des Benutzers"
Ein wichtiger Hinweis zum Thema Scripting und Whitespaces: Browser, die Leerzeichen, Whitespaces, Tabs und Zeilenumbrüche in Leerzeichen analysieren, bedeuten, dass sie tatsächlich ein Whitespace sind. Whitespaces selbst sind \xA0
(Char 160). Das heißt Wenn Sie PHP -Dateien auf einen Mac schreiben und nicht auf magische Weise nicht nur Leerzeichen berühren, haben Sie ein Zeichen, das wie ein Leerzeichen aussieht, aber nicht in einem. Entfernen Sie alle \xA0
(Char 160) 's aus Ihrem Skript, um das zu entfernen und den plötzlich auftretenden magischen Fehler 500 zum Verschwinden zu bringen. (Bei der Suche in TextWrangler/BBEdit haben Sie die Checkbox "Grep" im Suchdialogfeld gedrückt - sollte in Coda, Eclipse usw. ähnlich sein). Es dauert einige Zeit, um herauszufinden. Auch wenn es nicht zu 100% mit dem Thema übereinstimmt, ist es das erste Ergebnis bei Google, wenn Sie genau nach diesem Problem suchen. Hoffe es hilft jemandem.