seth: RegularExpressions und JS - Problem

Beitrag lesen

gudn tach Michael!

Vornamestr.match(/[a-zA-ZÀ-ÖØ-öø-ž,- ]/);

durchsucht den string nach dem ersten vorkommnis eines zeichens aus der angegebenen zeichenklasse [a-z...] und gibt dieses zurueck.
bei Vornamestr=='hansi' wuerde 'h' zurueckgegeben werden.
bei Vornamestr=='3:hansi' wuerde ebenfalls 'h' zurueckgegeben werden.
bei einem string, der nur aus zeichen besteht, die nicht aus deiner zeichenklasse stammen z.b. ':!3{' koennte auch kein gefundenes zeichen zurueckgegeben werden.

im gegensatz dazu:
/[^a-zA-ZÀ-ÖØ-öø-ž,- ]/
durchsucht den string nach dem ersten vorkommnis eines zeichens, das _nicht_ aus der angegebenen zeichenklasse [a-z...] stammt.
falls so ein zeichen gefunden werden wuerde, wuesstest du, dass der string nicht erlaubt waere.

du koenntest aber auch genausogut pruefen, ob der string von vorne (^) bis hinten ($) aus lauter zeichen besteht, die aus deiner zeichenklasse stammen.
/[1]*$/
 ^ heisst anfang
                       * heisst "mindestens nullmal" das vorhergehende zeichen
                        $ heisst ende

prost
seth


  1. a-zA-ZÀ-ÖØ-öø-ž,- ↩︎