test solo regulares regular que probar palabra numeros mayores expresiones expresion example exacta espacio blanco alfanumerico regex validation phone-number clickatell

solo - RegEx para un número de teléfono móvil internacional válido



javascript regex test (6)

// Regex - Verifique los números móviles válidos de Singapur

public static boolean isSingaporeMobileNo(String str) { Pattern mobNO = Pattern.compile("^(((0|((//+)?65([- ])?))|((//((//+)?65//)([- ])?)))?[8-9]//d{7})?$"); Matcher matcher = mobNO.matcher(str); if (matcher.find()) { return true; } else { return false; } }

Utilizo Clickatell para enviar SMS a los teléfonos móviles de los clientes.

¿Hay una expresión regular estandarizada para todos los números de teléfonos móviles válidos, por ejemplo, +27 123 4567? Me daré la vuelta, pero me preocupa perder un formato de número de teléfono válido y oscuro.


Aunque se trata de números internacionales, quisiera que el código fuera como:

/^(/+|/d)[0-9]{7,16}$/;

Como puedes tener números internacionales comenzando con ''00'' también.

Por qué prefiero 15 dígitos: http://en.wikipedia.org/wiki/E.164


Después de eliminar todos los caracteres excepto ''+'' y los dígitos de su entrada, esto debería hacerlo:

^/+[1-9]{1}[0-9]{3,14}$

Si desea ser más exacto con los códigos de país, consulte esta pregunta en la Lista de códigos de país del número de teléfono

Sin embargo, trataría de no ser demasiado estricto con mi validación. Los usuarios se sienten muy frustrados si se les dice que sus números válidos no son aceptables.


Incluso si escribe una expresión regular que coincida exactamente con el subconjunto "números de teléfono válidos" de las cadenas, no hay forma de garantizar (a través de una expresión regular) que sean números de teléfono móvil válidos. En varios países, los números de teléfono móvil no se pueden distinguir de los números de teléfono fijo sin al menos una búsqueda de plan de número, y en algunos casos, incluso eso no ayudará. Por ejemplo, en Suecia, muchas personas han "transferido" su número de teléfono fijo normal a su teléfono móvil. Sigue siendo el mismo número que tenían antes, pero ahora va a un teléfono móvil en lugar de a un teléfono fijo.

Dado que los números de teléfono válidos constan solo de dígitos, dudo que hacer rodar los suyos corra el riesgo de perder por lo menos algún caso oscuro de número de teléfono . Si desea tener una mayor certeza, escriba un generador que tome una lista de todos los códigos de país válidos, y que requiera que uno de ellos al principio del número de teléfono coincida con la expresión regular generada.


Publicar una nota aquí para los usuarios que buscan esto en el futuro. El libphonenumber de libphonenumber de Google es lo que probablemente querrías usar. Hay contenedores para PHP, node.js, Java, etc. para usar los datos que Google ha estado recopilando y reduce los requisitos para mantener grandes matrices de patrones de expresiones regulares para aplicar.


^/+[1-9]{1}[0-9]{7,11}$

La expresión regular ^/+[1-9]{1}[0-9]{7,11}$ falla para "+290 8000" y números válidos similares que tienen menos de 8 dígitos.

Los números más largos podrían ser algo así como un código de país de 3 dígitos, un código de área de 3 dígitos, un número de abonado de 8 dígitos, haciendo 14 dígitos.