/ / Validation de numéro mobile (international) - javascript, jquery, regex, validation

Mobile Number Validation (Internationalement) - JavaScript, jquery, regex, validation

J'essaie de faire une vérification de validation sur le numéro de mobile, un peu similaire à ce que Gmail a mis en œuvre

Lien vers la page d'inscription Gmail

mais la variation entre les numéros de téléphone d'un pays à l'autre est trop importante, il est donc difficile de définir une regex pour cela.

J'ai regardé quelques-uns des q "s ici, mais ils travaillent pour un pays ou un pays particulier, s'il vous plaît mentionner si j'ai manqué.

question dans SO

principalement, je veux réaliser ce que gmail a fait avec le numéro de téléphone portable.

Réponses:

4 pour la réponse № 1

Dans la page que vous avez fournie, Google utilise ajax pour vérifier ces courriels. Regardez le contenu de la demande:

{"input01":{"Input":"RecoveryPhoneNumber","RecoveryPhoneNumber":"+44 12345678","RecoveryPhoneCountry":"GB"},"Locale":"pl"}

Je suppose qu’ils n’ont pas d’universel magiqueregex - ils ont probablement toute la base de données de regex - chaque numéro correspondant dans chaque pays. J'imagine que vous pouvez faire de même, mais vous devrez travailler à la création d'une telle base de données (si personne ne l'a déjà fait).

Vous pouvez également tromper votre chemin et essayer deconnectez-vous à leur service ajax et faites vous-même des demandes à leur vérificateur. Ce serait un moyen facile, mais vraiment pas fiable et probablement même pas légal.

EDIT: Il y a beaucoup de pages où vous pouvez trouver des exemples. La partie difficile est de rassembler toutes les regex.


2 pour la réponse № 2

Ne savez pas si vous avez écrit votre propre bibliothèque pour la validation du numéro de téléphone portable, mais nous avons maintenant libphonenumber. Il est en effet fourni par Google et vous permet de valider, d’analyser et de formater les numéros de téléphone. C’est pour Java, c ++ ou Javascript, mais il y a aussi fork pour PHP.

À ce stade, pour obtenir quelque chose de similaire au formulaire sur la page d’inscription de Google, vous devez connecter lib avec une entrée codée (pour fournir des indicateurs et des codes de pays parmi lesquels choisir). intl-tel-input a été conçu spécialement pour cela. C'est fondamentalement:

Un plugin jQuery pour entrer et valider un téléphone international Nombres. Il ajoute un indicateur déroulant à toute entrée, qui répertorie tous les pays et leurs codes de numérotation internationaux à côté de leurs drapeaux.

et il utilise le numéro de téléphone de Google mentionné ci-dessus. Alors, laissez de côté vos regex


1 pour la réponse № 3

Pour le numéro de téléphone mobile international, utilisez la validation ci-dessous.

^ + d {1,5} d {6,11} $

(+) symbole - est obligatoire

d {1,5} - pour le code ISD

d {6,11} - pour le numéro de téléphone

MAIS si l'utilisateur a entré 91 (INDE) CODE ISD et un numéro de téléphone portable à 6 chiffres il sera validé en tant que numéro valide.

numéro de téléphone indien peut être vérifier avec ^ + 91d {10} $

utilisez jquery (tableaux à deux dimensions) au lieu d'expressions régulières. comme il y a plus de combinaisons ISD-Number.

Pour le valider, 1ère vérification avec le code ISD entré (1er élément d’un tableau et comparaison avec la longueur du numéro de mobile (2ème élément de l’élément d'un tableau),

afin que vous puissiez obtenir la longueur du numéro de portable pour chaque code ISD stocké dans le 2ème élément du tableau.

nous pouvons le faire pour n nombre de pays et être configurable à l’avenir.


0 pour la réponse № 4

Les géants font Regex, mais après avoir obtenu le code de pays sur leur base de données vous pouvez trouver cela courir sur leur code pour savoir comment ils construisent le code de pays et les drapeaux

"in":{code:"91",name:"India",imgPosition:"-1694px"},id:{code:"62",name:"Indonesia",imgPosition:"-1958px"},ir:{code:"98",name:"Iran",imgPosition:"-2013px"},iq:{code:"964",name:"Iraq",imgPosition:"-649px"},ie:{code:"353",name:"Ireland",imgPosition:"-1969px"},