2011-12-06 52 views
5

¿Pueden sugerirnos un buen complemento de validación de número de teléfono para jQuery tanto para números internacionales como estadounidenses? Busqué en Google pero no pude encontrar uno que funcionara bien.jquery plugin para validación de número de teléfono internacional

Sería muy bueno si había una validación en vivo (es decir: se valida al instante cuando el usuario escribe el número de teléfono en el campo de entrada)

Respuesta

3

¿Cuál es la única cosa que realmente válida acerca de un número de teléfono (!) ? Al menos a nivel internacional, no existe un formato general para los números de teléfono. Puedes escribir solo dígitos, usar algunos paréntesis, guiones, signos más, etc. Pero lo que realmente importa son los dígitos. Ni siquiera hay una restricción de longitud común en la mayoría de los países.

Así que no, todavía no he visto un validador de número de teléfono utilizable.

+0

+1, validando tanto nosotros como números internacionales será imposible. – OptimusCrime

+1

En realidad, hay una manera, puede validar un número que logre https://en.wikipedia.org/wiki/E.164 –

11

Sugeriría usar jQuery Validate y luego extendí la funcionalidad usando el siguiente código, que encontré en this blog post.

Ofrece un buen fragmento de código (y se pone mejor en los comentarios) que puede usar para números internacionales y números de teléfono de los EE. UU. Yo ya estaba usando el plugin additional methods así que cambió el nombre del método intlphone, y luego el código a mi página web, después de jQuery y antes de la instalación document.ready/validación:

jQuery.validator.addMethod('intlphone', function(value) { return (value.match(/^((\+)?[1-9]{1,2})?([-\s\.])?((\(\d{1,4}\))|\d{1,4})(([-\s\.])?[0-9]{1,12}){1,2}(\s*(ext|x)\s*\.?:?\s*([0-9]+))?$/)); }, 'Please enter a valid phone number'); 

En el campo de entrada que quería ser un teléfono número que definen la clase de ser intlphone y añadió una propiedad/atributo de HTML 5 para la longitud mínima (aunque esto también podría hacerse mediante la especificación de las reglas de validación cuando la creación de validación), por lo que mi entrada era algo así como:

<input class="required intlphone" name="phone" minLength="7" type="text" /> 

Como la entrada del blog dice que acepta dígitos también s -+() y también espacios y extensiones en el formato x: o ext:

No es una garantía de que un número de teléfono será válido el 100% del tiempo, pero no es un mal comienzo.

Cuestiones relacionadas