Quelle expression régulière match international valide les numéros de téléphone?

J'ai besoin pour déterminer si un numéro de téléphone valide avant de tenter de le composer. Le téléphone peut aller n'importe où dans le monde.

Quelle expression régulière match international valide les numéros de téléphone?

  • Comment tout regex gérer les erreurs comme des numéros de service? Juste essayer d'appeler et handle non valide-numéro comme vous le feriez d'autres erreurs.
  • Pendant que vous êtes correct que la regex ne peut pas le déterminer, chaque sortant tentative consomme du temps et des ressources. De faire un rapide test de cohérence sur le nombre assure évidemment faux appel de ne pas bloquer un précieux canal.
  • LOL @ paxdiablo.... Je suppose que le 1-800-APPEL-de l'AIDE à passer votre RegExp test...lol
  • Quelque chose qui n'est pas clair dans cette question est si les numéros doivent être valides si elles sont appelées par les états-unis ou de n'importe quel pays dans le monde, parce que la plupart des solutions ci-dessous n'est pas de valider certains numéros valides (comme 0030 210 12312312 - valide grecque nombre appelé à partir de n'importe quel pays de l'UE)
  • la question, dit "numéro de téléphone international" à la fois le titre et le corps. Un numéro de téléphone international est l'un avec une + où le code de sortie doit être. Que le code de sortie est en effet 00 dans tous les pays de l'UE (et la majorité des pays d'ailleurs), mais qui fait toujours l'exemple que vous donnez une zone spécifique de nombre (bien qu'il fonctionne dans beaucoup de domaines spécifiques), non pas international.
  • Je suis d'accord sur un point, mais d'un autre côté, à partir du UX point de vue, vous ne pensez pas que si un utilisateur entre un 00XX...un nombre X, le test doit se passer? Il y a des cas où des utilisateurs (personnes âgées) ne sait même pas ce que le + est et comment taper sur un numérique/clavier du téléphone. Aussi, je pourrais encore affirmer que 00XXX est un certificat international de nombre (c'est à dire dans un contexte de l'utilisateur) où, au lieu des +, le code de sortie a été utilisé.
  • à partir d'un point de vue de l'INTERFACE utilisateur, si vous avez besoin d'un numéro de téléphone international et que l'utilisateur entre un non-numéro de téléphone international à partir de laquelle vous pouvez déduire le numéro de téléphone international, alors vous devez les accepter le nombre, ils sont entrés, et d'en faire le numéro de téléphone international. De cette façon, vous êtes à la réduction du nombre d'erreurs par fiable transformer une forme d'entrée dans un autre, plutôt que d'augmenter les erreurs en acceptant des données non valides. Et comment quelque chose peut être international "dans un contexte de l'utilisateur"? À l'échelle internationale signifie qu'il fonctionne quel que soit le contexte géographique ipso facto.