Validator.js – Validierung von Zeichenketten auf Server und Client

Validator.js ist eine Software-Bibliothek für die Validierung von Zeichenketten (englisch Strings). Sie ist sowohl als clientseitige JavaScript-Bibliothek für den Webbrowser, als auch als serverseitiges Modul für Node.js verfügbar.

Mit Validator.js lassen sich Texte darauf Prüfen, ob sie einen vorgegebenen Muster entsprechen. Außerdem stehen grundlegende Bearbeitungs-Funktionen zu Verfügung, wie z.B. die Datentypumwandlung von einer Zeichenkette in ein Datum, eine Ganz- oder eine Fließkommazahl, oder die Maskierung von HTML-Sonderzeichen.

Verwendung #

Da Validator.js in JavaScript geschrieben ist, kann sie in jeder beliebigen JavaScript-Umgebung verwendet werden. Dazu zählen sowohl die meisten Webbrowser, als auch die Node.js-Plattform. Dies ist besonders dann von Vorteil, wenn es wichtig ist, dass Client und Server auf identische Validierungsfunktionen zugreifen.

Webbrowser #

Um Validator.js im Webbrowser zu verwenden, lädt man sich einfach die JavaScript-Datei herunter und bindet sie in die HTMl-Seite ein:

<script type="text/javascript" src="validator.js"></script>

Zudem steht eine minifizierte JavaScript-Datei zu Verfügung, die das clientseitige Laden aufgrund ihrer Komprimierung beschleunigt:

<script type="text/javascript" src="validator.min.js"></script>

Node.js #

Um Validator.js unter Node.js zu verwenden, müssen wir zunächst das entsprechende Modul installieren. Dies geschieht mit der Konsolen-Anweisung npm install validator. Danach laden wir das Modul in unsere Anwendung und speichern es in der Variable validator:

var validator = require('validator');

Beispiel #

In beiden Fällen können wir nun über die Variable validator auf Validator.js zugreifen. Die Schnittstelle ist dabei identisch.

In diesem Beispiel möchte ich prüfen, ob es sich bei einer Zeichenkette um eine gültige Email-Adresse handelt. Dazu verfügt Validator.js über die Funktion isEmail, welche – wie alle anderen Funktionen auch – den ersten übergebenen Parameter auf das vorgegebene Muster prüft und entweder true oder false zurückliefert.
Bei der Zeichenkette kein-empfaenger@nodecode.de wird true zurückgeliefert, da es sich dabei um eine gültige Email-Adresse handelt:

validator.isEmail('kein-empfaenger@nodecode.de');

Dem hingegen wird bei der Zeichenkette nodecode.de der Wert false zurückgeliefert, weil dies zwar eine Domain, aber keine Email-Adresse ist.

validator.isEmail('nodecode.de');

Referenz #

Validierer #

Neben isEmail gibt es selbstverständlich noch weitere Validierungsfunktionen. Hier die vollständige Liste:

  • equals(str, comparison) – prüft, ob zwei Zeichenketten identisch sind.
  • contains(str, seed) – prüft, ob die Zeichenkette einen Wert enthält.
  • matches(str, pattern [, modifiers]) – prüft, ob die Zeichenkette einem Muster entspricht. Entweder matches('foo', /foo/i) oder matches('foo', 'foo', 'i').
  • isEmail(str) – prüft, ob die Zeichenkette eine Email-Adresse ist.
  • isURL(str) – prüft, ob die Zeichenkette eine URL ist.
  • isIP(str [, version]) – prüft, ob die Zeichenkette eine IP-Adresse ist (IPv4 oder IPv6).
  • isAlpha(str) – prüft, ob die Zeichenkette nur aus Buchstaben besteht (a-zA-Z).
  • isNumeric(str) – prüft, ob die Zeichenkette nur aus Ziffern besteht.
  • isAlphanumeric(str) – prüft, ob die Zeichenkette nur aus Buchstaben und Ziffern (0-9) besteht.
  • isHexadecimal(str) – prüft, ob die Zeichenkette eine hexadezimale Nummer ist.
  • isHexColor(str) – prüft, ob die Zeichenkette eine hexadezimale Farbe ist.
  • isLowercase(str) – prüft, ob die Zeichenkette in Kleinbuchstaben geschrieben ist.
  • isUppercase(str) – prüft, ob die Zeichenkette in Großbuchstaben geschrieben ist.
  • isInt(str) – prüft, ob die Zeichenkette eine Ganzzahl ist.
  • isFloat(str) – prüft, ob die Zeichenkette eine Fließkommazahl ist.
  • isDivisibleBy(str, number) – prüft, ob die Zeichenkette eine Zahl ist, die durch eine andere teilbar ist.
  • isNull(str) – prüft, ob die Zeichenkette null ist.
  • isLength(str, min [, max]) – prüft, ob sich die Länge der Zeichenkette ist einen bestimmten Bereich befindet.
  • isUUID(str [, version]) – prüft, ob die Zeichenkette eine UUID ist (Version 3, 4 or 5).
  • isDate(str) – prüft, ob die Zeichenkette ein Datum ist.
  • isAfter(str [, date]) – prüft, ob die Zeichenkette ein Datum ist, dass sich nach einem anderen befindet. (der Standardwert ist der aktuelle Zeitpunkt)
  • isBefore(str [, date]) – prüft, ob die Zeichenkette ein Datum ist, dass sich vor einem anderen befindet. (der Standardwert ist der aktuelle Zeitpunkt)
  • isIn(str, values) – prüft, ob die Zeichenkette ein Array mit erlaubten Werten ist.
  • isCreditCard(str) – prüft, ob die Zeichenkette eine Kreditkartennummer ist.
  • isISBN(str [, version]) – prüft, ob die Zeichenkette eine ISBN ist (Version 10 oder 13).

Umwandler #

Um Zeichenketten umzuwandeln und zu verarbeiten, stehen folgende Funktionen zur Verfügung:

  • toString(input) – wandelt die Eingabe in eine Zeichenkette um.
  • toDate(input) – wandelt die Eingabe in ein Datum um. Falls der eingegebene Wert kein Datum ist, in null.
  • toFloat(input) – wandelt die Eingabe in eine Fließkommazahl um. Falls der eingegebene Wert keine Fließkommazahl ist, in NaN.
  • toInt(input [, radix]) – wandelt die Eingabe in eine Ganzzahl um. Falls der eingegebene Wert keine Ganzzahl ist, in NaN.
  • toBoolean(input [, strict]) – wandelt die Eingabe in einen boolean (true oder false) um. Alles außer '0', 'false' und '' liefert true zurück. In strikten Modus gibt nur '1' oder 'true' ein true zurück.
  • trim(input [, chars]) – entfernt Zeichen aus der Eingabe (Leerzeichen als Standardwert) von beiden Seiten.
  • ltrim(input [, chars]) – entfernt Zeichen aus der Eingabe (Leerzeichen als Standardwert) von der linken Seite.
  • rtrim(input [, chars]) – entfernt Zeichen aus der Eingabe (Leerzeichen als Standardwert) von der rechten Seite.
  • escape(input) – ersetzt <, >, & und " durch HTML-Entitäten.
  • whitelist(input, chars) – entfernt Zeichen, die nicht in der Positivliste vorkommen.
  • blacklist(input, chars) – entfernt Zeichen, die in der Negativliste vorkommen.
VN:F [1.9.22_1171]
Bewertung: 0.0/5 (0 Bewertungen)
Regelmäßige Beiträge über Node.js

nodecodeAbonniere den kostenlosen NodeCode-Newsletter, und bleibe auf dem laufenden über neue Beiträge zum Thema Node.js. Darunter:

  • Informationen und Neuigkeiten rund um Node.js und zugehörigen Modulen
  • Vorstellung von interessanten Frameworks und Bibliotheken
  • Anleitungen und Tutorials zu Node.js und weiterführenden Technologien
  • Sowie vieles mehr...

hinterlasse einen Kommentar