/ / Javascript Hilfe Regex - Javascript, Regex

Javascript Hilfe Regex - Javascript, Regex

Ich brauche Hilfe mit einem Javascript Regex, weil ich es nicht herausfinden kann. Die Regex benötigt die folgenden Kriterien:

  1. Mindestens 3 Zeichen
  2. Maximal 40 Zeichen
  3. Enthält nur Buchstaben, Zahlen ein Leerzeichen (keine Zeilenumbrüche und andere Zeichen wie?, _, ...)
  4. KANN NUR 1 * enthalten, aber nach 3 Zeichen

Hier einige Testdaten:

  • Ich bin ein paar Testdaten -> OK
  • Ich bin * ein paar Testdaten -> OK
  • Ich bin ein paar Testdaten -> NOK (* nach 3 Zeichen)
  • Ich bin * einige * Testdaten -> NOK (0 oder 1 mal *)
  • Ich bin einige Testdaten und ich bin viel länger als das Maximum -> NOK (zu lang)
  • AB -> NOK (nicht lang genug)

Weil ich kein Profi darin bin, eine Regex zu erstellen, ist das, was ich bisher gesammelt habe (aber ich kann sie nicht zusammensetzen):

  • / [^ Sn] / -> Nur Leerzeichen und keine Zeilenumbrüche
  • / [w] / -> Wortzeichen
  • {3,40} -> Zwischen 3 und 40 Zeichen

Antworten:

2 für die Antwort № 1

Dieser Regex sollte für alle Bedingungen funktionieren:

^(?!.{1,2}?*)(?!(?:.*?*){2})[w .?*,]{3,40}$

Online-Demo: http://regex101.com/r/eJ3aF7


2 für die Antwort № 2
/^(?=.{,40}$)[A-Za-z0-9s]{3,}*?[A-Za-z0-9s]*$/