Siechfred: regulaerer Ausdruck gesucht

Beitrag lesen

Hallo Ludger.

Ich habe jetzt auch folgenden Code am Start:
  if (thisForm[element].value.search(/[0-9]{4}-[0-9]{2}-[0-9]{2}/) == -1)

Das matcht auch auf 'ISBN 1234-56-78 (2004)'. Soll es doch aber nicht, oder?

Ich will also alle Zeichenketten erwischen, die _nicht_ dem Muster entsprechen. Zudem habe ich auf '^' und '$' verzichtet.

Das ist der Fehler. '^' innerhalb einer Zeichenklasse bedeutet Negieren dieser Klasse, in allen anderen Fällen bedeutet es, dass der dahinter folgende Ausdruck am Anfang des zu durchsuchenden Strings stehen muss. Statt [0-9] kannst du auch '\d' benutzen. Also so:

'/^\d{4}-\d{2}-\d{2}$/'

Die Verneinung hast du ja schon über die Abfrage des Ergebnisses der search-Methode (-1)realisiert.

Freundschaft!
Siechfred

--
Wissen bedeutet zu wissen, wo es steht.