Analyser le numéro de téléphone dans les composants
J'ai besoin d'un bien testé Expression Régulière.style net de préférence), ou un autre simple morceau de code qui va analyser un USA/CA numéro de téléphone en composant des pièces, donc:
- 3035551234122
- 1-303-555-1234x122
- (303)555-1234-122
- 1 (303) 555 -1234-122
etc...
tous les analyser en:
- L'indicatif régional: 303
- Échange: 555
- Suffixe: 1234
- Extension: 122
source d'informationauteur Tristan Havelick | 2008-10-22
Vous devez vous connecter pour publier un commentaire.
Aucune des réponses apportées jusqu'à présent était suffisamment solide pour moi, alors j'ai continué la recherche de quelque chose de mieux, et j'ai trouvé ça:
Google bibliothèque pour traiter avec les numéros de téléphone
J'espère que c'est également utile pour vous.
C'est celui que j'utilise:
Je l'ai eu à partir de RegexLib je crois.
Cette regex fonctionne exactement comme vous le souhaitez avec vos exemples:
Dépouiller tout ce qui n'est pas un chiffre en premier. Ensuite, tous vos exemples réduire à:
/^1?(\d{3})(\d{3})(\d{4})(\d*)$/
À l'appui de tous les codes de pays, est un peu plus compliqué, mais la même règle générale s'applique.
Ici est une bibliothèque utilisée avec GeoIP par exemple:
http://highway.to/geoip/numberparser.inc
voici une méthode plus facile sur les yeux fournies par le Répertoire alphabétique (vettrasoft.com),
orientée vers l'Amérique numéros de téléphone:
la dernière ligne stocke le numéro de table de base de données "phone_number".
les valeurs de colonne: code_pays = "1", indicatif_régional = "888", de l'échange = "872",
etc.