2011-12-06 13 views
5

Potete suggerire un buon numero di telefono per la validazione di jQuery per i numeri statunitensi e internazionali? Ho cercato molto su Google ma non sono riuscito a trovarne uno che funzionasse bene.plug-in jquery per convalida di numeri telefonici internazionali

Sarebbe bello se ci fosse una conferma dal vivo (cioè: convalida istantaneamente quando l'utente digita il numero di telefono nel campo di inserimento)

risposta

3

Qual è l'unica cosa veramente valida su un numero di telefono (!) ? Almeno a livello internazionale, non esiste un formato generale per i numeri di telefono. Puoi scrivere solo cifre, usare parentesi, trattini, segni, ecc. Ma ciò che conta davvero sono le cifre. Non c'è nemmeno una limitazione di lunghezza comune nella maggior parte dei paesi.

Quindi no, non ho ancora visto un validatore del numero di telefono utilizzabile.

+0

+1, la convalida di entrambi e dei numeri internazionali sarà impossibile. – OptimusCrime

+1

In realtà c'è un modo, è possibile convalidare un numero che compire https://en.wikipedia.org/wiki/E.164 –

11

Suggerirei di utilizzare jQuery Validate e quindi estendere la funzionalità utilizzando il codice seguente, che ho trovato su this blog post.

Offre un bel frammento di codice (e migliora nei commenti) che è possibile utilizzare per numeri internazionali e numeri di telefono statunitensi. Ero già utilizzando il plugin additional methods così ho rinominato il metodo intlphone, e quindi il codice alla mia pagina web, dopo jQuery e prima della messa a punto document.ready/validazione:

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'); 

sul campo d'volevo essere un telefono numero che ho impostato la classe per essere intlphone e ha aggiunto una proprietà/attributo HTML5 per la lunghezza minima (anche se questo potrebbe essere fatto anche specificando le regole di convalida durante l'impostazione di convalida), quindi il mio ingresso era qualcosa di simile:

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

Come dice il post sul blog, accetta anche cifre s -+() e anche gli spazi e le estensioni in formato x: o ext:

Non è una garanzia che un numero di telefono sarà valido al 100% del tempo, ma non è un cattivo inizio.

Problemi correlati