MudGuard: Regulärer Ausdruck für Telefonnummer

Beitrag lesen

Hi,

  1. eine Rufnummer (1. Ziffer keine 0, afaik bis zu 8 Ziffern, oft mit Leerzeichen dazwischen gruppiert)
    [1-9](?: ?[1-9]){3,7}

ein typo: [1-9](?: ?[0-9]){3,7}
                     ^ 0 statt 1

Richtig.

  1. eine Durchwahl (Bindestrich, bis zu 5 Ziffern, ggf. mit Leerzeichen dazwischen)
    (?: ?-(?: ?[0-9]){1,5})?
    also z.b. "-123 4" und "-12345" aber nicht "-123 45"?

Wieso?

Äüßere Klammer mit Fragezeichen:  (?:)? - das ganze ist optional.

In der äußeren Klammer:
Leerzeichen (optional) und Minuszeichen.
Gefolgt von 1 bis 5 mal der inneren (?:)

Deren Inhalt ist ein optionales Leerzeichen und eine Ziffer.
aufgedröselt also (für den Fall von 5 Ziffern)
 ?- ?[0-9] ?[0-9] ?[0-9] ?[0-9] ?[0-9]
Ersetze ich die [0-9] durch die vorgegebenen Ziffern
 ?- ?1 ?2 ?3 ?4 ?5
So, jetzt noch ein paar optionale Leerzeichen rausschmeißen, bei denen, die erhalten bleiben, die ? weg:
-123 45

Also ist für die Durchwahl auch "-123 45" möglich.

die leerzeichen vor oder nach dem slash (welches auch manchmal ein bindestrich ist) werden oft weggelassen.

Daher hab ich sie ja auch per " ?" optional angegeben.

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.