
Validador de Regex para Números de Teléfono en Java
El Validador de Regex para Números de Teléfono en Java está diseñado para ayudar a desarrolladores, testers y estudiantes a validar patrones de números de teléfono rápidamente usando expresiones regulares en Java. Admite tanto formatos internacionales como locales, garantizando el formato correcto en entradas de usuario y bases de datos.
Pruebe herramientas relacionadas con Java como el Validador de Regex de Email en Java, el Validador de Regex de UUID en Java o el Validador de Regex de Fecha en Java para otras validaciones en Java.
Validador de Regex para Números de Teléfono en Java - Documentación
¿Qué es un Regex de Número de Teléfono?
Los números de teléfono pueden aparecer en muchos formatos, especialmente cuando se soportan múltiples países. Un regex (expresión regular) ayuda a coincidir con estos patrones para garantizar que los usuarios ingresen números de contacto válidos.
En Java, los patrones regex para números de teléfono validan comúnmente:
Códigos de país opcionales (por ejemplo, +91, +1)
Formatos solo numéricos (por ejemplo, 9876543210)
Formatos legibles con guiones, espacios o corchetes (por ejemplo, (123) 456-7890)
Creación de Patrones Regex Más Flexibles para Números de Teléfono
Crear patrones regex para la validación de números de teléfono es más sencillo cuando se comienza simple y se añade complejidad gradualmente:
1. Empiece con lo básico:
Comience coincidiendo números simples de 10 dígitos, buscando exactamente diez dígitos sin caracteres adicionales.
2. Añada flexibilidad de formato:
Expanda su regex para acomodar variaciones de formato comunes, permitiendo espacios, guiones o puntos opcionales entre secciones del número.
3. Introduzca paréntesis:
Para capturar números escritos con paréntesis alrededor del código de área (como (123) 456-7890), ajuste su regex para reconocer paréntesis opcionalmente al inicio.
4. Considere prefijos internacionales:
Mejore la compatibilidad global añadiendo un prefijo de marcación internacional opcional. Esto significa agregar un signo más (+) opcional seguido de hasta tres dígitos para el código de país.
Al introducir estas mejoras gradualmente, su regex evoluciona de un validador local estricto a un patrón robusto que acepta una amplia gama de formatos de números de teléfono del mundo real.
Características Principales
Valida números de teléfono locales e internacionales
Admite formatos con códigos de país, guiones, espacios o corchetes
Mejora la precisión de los datos y previene envíos inválidos
Vista previa del patrón regex en Java y resultado de la prueba
Retroalimentación en tiempo real para validación
Patrones Regex Comunes
Número simple de 10 dígitos:
Coincide con: 9876543210^\d{10}$Número internacional con código de país opcional:
Coincide con: +919876543210, 19876543210
^\+?[1-9]{1}[0-9]{7,14}$Número con formato estilo EE. UU.:
Coincide con: (123) 456-7890, 123-456-7890, 1234567890
^\(?\d{3}\)?[- ]?\d{3}[- ]?\d{4}$
Permitir Espacios, Puntos o Guiones
Muchos números de teléfono modernos incluyen espacios, puntos o guiones para mayor legibilidad. Para acomodar estos formatos, puede usar un patrón regex que permita espacios en blanco, puntos o guiones opcionales entre grupos de números:
^\d{3}[-.\s]?\d{3}[-.\s]?\d{4}$Coincide con:
2055550125
202 555 0125
202.555.0125
202-555-0125
Verificar Múltiples Formatos de Números de Teléfono en Java
A veces, un único patrón regex no es suficientemente flexible para capturar todos los estilos de números de teléfono que desea admitir. En estos escenarios, puede combinar múltiples patrones regex usando el símbolo de barra vertical (|), que actúa como un "o" lógico. Este enfoque simplifica las verificaciones cuando los formatos pueden incluir:
Números con o sin paréntesis, espacios o guiones (
(123) 456-7890,123-456-7890)Estilos internacionales (
+111 123 456 789)Dígitos agrupados con separadores variables (
+111 636 85 67 89)
String regex = "^(\\+\\d{1,3}( )?)?((\\(\\d{3}\\))\\d{3})[- .]?\\d{3}[- .]?\\d{4}$"
+ "^(\\+\\d{1,3}( )?)?(\\d{3}[ ]?){2}\\d{3}$"
+ "^(\\+\\d{1,3}( )?)?(\\d{3}[ ]?)(\\d{2}[ ]?){2}\\d{2}$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(phoneNumber);
boolean isValid = matcher.matches();Combinar Múltiples Patrones Regex para Validación Completa
Cuando los números de teléfono vienen en diferentes formatos, un único regex puede no cubrir todos los casos. Puede combinar varios con el símbolo de barra vertical para coincidir con distintos patrones válidos:
// Combinar diferentes patrones con el operador de barra vertical String patterns = "^(\\+\\d{1,3}( )?)?((\\(\\d{3}\\))\\d{3})[- .]?\\d{3}[- .]?\\d{4}$" + "^(\\+\\d{1,3}( )?)?(\\d{3}[ ]?){2}\\d{3}$" + "^(\\+\\d{1,3}( )?)?(\\d{3}[ ]?)(\\d{2}[ ]?){2}\\d{2}$";Pattern pattern = Pattern.compile(patterns);
String[] validPhoneNumbers = { "2055550125", "202 555 0125", "(202) 555-0125", "+111 (202) 555-0125", "636 856 789", "+111 636 856 789", "636 85 67 89", "+111 636 85 67 89" };
for (String phoneNumber : validPhoneNumbers) { Matcher matcher = pattern.matcher(phoneNumber); System.out.println(phoneNumber + ": " + matcher.matches()); }
Cómo Funciona
Ingrese su número de teléfono en el campo de entrada.
Elija el patrón regex que desea probar.
La herramienta verifica si su entrada coincide y muestra el resultado.
Use el resultado para validar entradas de formulario en tiempo real o limpiar conjuntos de datos.
Código de Ejemplo (Java)
import java.util.regex.Pattern; import java.util.regex.Matcher;public class PhoneNumberValidator { public static void main(String[] args) { String phoneNumber = "+1-234-567-8901"; String regex = "^\+?[1-9]{1}[0-9]{7,14}$";
Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(phoneNumber); if (matcher.matches()) { System.out.println("Phone number is valid."); } else { System.out.println("Phone number is invalid."); } }
}
Validar Múltiples Formatos de Números de Teléfono
Los números de teléfono vienen en gran variedad de formatos. Si un patrón no cubre todo lo que necesita, puede combinar múltiples patrones regex usando el símbolo de barra vertical. Por ejemplo:
Formato EE. UU.: (123) 456-7890 o 123-456-7890
String usPattern = ^(?\d{3})?[- ]?\d{3}[- ]?\d{4}$Internacional: +919876543210 o 19876543210
String intlPattern = ^+?[1-9]{1}[0-9]{7,14}$Combinar patrones con barra vertical:
String combinedPattern = usPattern + "|" + intlPattern; Pattern pattern = Pattern.compile(combinedPattern);Consejos Avanzados
Use
^y$para anclar el patrón al inicio y al final de la cadena.Evite regex demasiado estrictos para aplicaciones globales, los formatos varían entre países.
Use diferentes patrones regex para validación y formato (por ejemplo, visualización vs. entrada).
Combine con bibliotecas de validación de formularios para mayor experiencia de usuario.
Para importaciones de datos, combine esta herramienta con el Convertidor CSV a JSON para limpiar números de teléfono en masa.
Para APIs backend, úsela junto al Validador de UUID en Java para validar sesiones de usuario.
Combine con Estas Herramientas
Validador de Regex de Email en Java, valide emails de usuario en el mismo sistema.
Validador de Regex de UUID en Java, confirme tokens de identidad durante la autenticación.
Validador de Regex de Fecha en Java, garantice que los formatos de fecha en campos de formulario sean válidos.
Codificador Base64, codifique información sensible como números de teléfono si es necesario.
Frequently Asked Questions
¿Puede este validador verificar números de teléfono de todos los países?
¿Admite números de teléfono con espacios o guiones?
¿Es este validador seguro para validación a nivel de producción?
¿Puedo probar múltiples formatos a la vez?
¿Qué sucede si el usuario ingresa un formato inválido?
Related Articles



¡Pruebe sus APIs hoy!
Escriba en español simple, Qodex lo convierte en pruebas seguras y listas para ejecutar.



