Regex für US-Telefonnummern

Mit /^(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})$/ prüfst du, ob eine ganze Zeichenkette eine gültige US-Telefonnummer ist. Jedes Beispiel unten wurde gegen das Muster getestet, und du kannst es mit den vorgeladenen Beispielen im Regex-Tester öffnen.

Aktualisiert am

/^(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})$/
Im Regex-Tester öffnen
EingabeErgebnisGruppen
(212) 555-0123✓ Treffer212 555 0123
212-555-0123✓ Treffer212 555 0123
+1 415.555.0199✓ Treffer415 555 0199
4155550199✓ Treffer415 555 0199
123-456-7890✗ Kein Treffer
555-1234✗ Kein Treffer
(212) 555-01234✗ Kein Treffer
+44 20 7183 8750✗ Kein Treffer

So funktioniert das Muster

TeilBedeutung
(?:\+1[-. ]?)?Optionale Ländervorwahl +1, gefolgt von einem optionalen Trennzeichen
\(?([2-9]\d{2})\)?Vorwahl (Gruppe 1), optional in Klammern; sie darf nicht mit 0 oder 1 beginnen
[-. ]?Optionaler Bindestrich, Punkt oder Leerzeichen
(\d{3})Vermittlungscode (Gruppe 2)
(\d{4})Anschlussnummer (Gruppe 3)

Code-Beispiele

JavaScript

const re = /^(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})', value))

PHP

preg_match('/^(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})$/', $value) === 1;

Hinweise und Einschränkungen

Die drei Gruppen ermöglichen es, jedes akzeptierte Format zu normalisieren, zum Beispiel zu ($1) $2-$3. Speichere internationale Nummern im E.164-Format und nutze für eine echte Validierung eine Bibliothek wie libphonenumber.

Häufige Fragen

Wie lautet der Regex für US-Telefonnummern?
/^(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})$/ — er prüft die gesamte Zeichenkette. Was jeder Teil macht, siehst du in der Tabelle oben.
Welche Beispiele passen?
Von den getesteten Beispielen passen diese: (212) 555-0123, 212-555-0123, +1 415.555.0199, 4155550199. Die anderen passen nicht.
Wie teste ich diesen Regex?
Klicke auf „Im Regex-Tester öffnen“ — Muster, Flags und Beispieltext werden automatisch geladen, und Treffer werden beim Bearbeiten markiert.