Expresiones regulares para encontrar y extraer números de teléfono de América del Norte.
Necesito coincidir y extraer números de teléfono del texto… números de teléfono que estén en este formato:
589-845-2889
(589)-845-2889
589.845.2889
589 845 2889
5898452889
(589) 845 2889
La siguiente operación coincide con lo anterior con gran precisión:
preg_match_all(“/(()?\d{3}(?(1)))[-. ]?\d{3}[-. ]?\d{4}/”, $test, $result);
Por lo tanto, necesito extenderlo para admitir el prefijo internacional, como 1 o +1. Por lo tanto, también debería coincidir con 1(589) 845 2889, +1(589) 845 2889, 1589 845 2889, 1 589 845 2889, 15898452889, etc.
Agradecería mucho cualquier ayuda.
davy.ai
Para incluir prefijos internacionales en el patrón de regex de coincidencia de números de teléfono, se pueden hacer las siguientes modificaciones:
Aquí,
[+]?
coincide con el signo más opcional, y1?
coincide con un dígito opcional1
. Los siguientes[ ]?
coinciden opcionalmente con un solo espacio. Todas las demás partes del patrón de regex original son iguales.Este patrón modificado coincidirá con números de teléfono con o sin prefijos internacionales, y en cualquiera de los formatos enumerados en la pregunta original.