Regex pour les numéros de téléphone français
Je suis en train de mettre en œuvre une Regex qui me permet de vérifier si un nombre est un français valide numéro de téléphone.
Il doit être comme ceci:
0X XX XX XX XX
ou:
+33 X XX XX XX XX
Voici ce que j'ai mis en place mais c'est faux ...
/^(\+33\s[1-9]{8})|(0[1-9]\s{8})$/
- Ce sujet de la maison les numéros de téléphone et les téléphones cellulaires début avec
07
? ^(((\+33\s)|0)[1-9]\s([0-9][0-9]\s){4})$
peuvent faire l'affaire, mais il est assez complexe et il est juste et la modification de la vôtre (obligation de mettre de l'espace entre deux chiffres), mais0033
n'est pas autorisé?- il est, en effet
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser:
Voir démo
Il permet d'espaces ou
.
ou-
comme un séparateur, ou aucun séparateur à tous lesUn exemple complexe (celui que j'utilise):
Par exemple, il correspond à chacune de ces lignes:
Plus:
Il prend également en compte le 0033 scénario.
^(\+33|0|0033)[1-9]\d{8}$
contrôle de 8 chiffres au lieu de 4 fois 2 numéros(\d{2}){4}
? Aussi, si il n'y a pas de raison de capture, vous pouvez vider tous, mais le premier groupe de parenthèses.new RegExp
, pour éviterSyntaxError: nothing to repeat
, vous aurez à double échapper à la "+" au début. Donc au final regex serait^(\\+33|0|0033)[1-9][0-9]{8}$
.Essayez ceci:
Diviser la regex en deux parties distinctes:
le préfixe qui peut être soit
+33 X
ou0X
le reste du numéro (
XX XX XX XX
)Regex serait:
Cela ne vous permet d'espaces comme un séparateur; si vous voulez quelque chose de plus ouvert, Thomas Ayoub réponse est plus verbeux.
testé sur Regex101
NOTE:
Comme par Thomas dans son commentaire, depuis la regex est une correspondance en utilisant le début et la fin des jetons (
^$
), le groupe est plutôt inutile. Vous pouvez ensuite prendre à ressembler à ceci:et il devrait fonctionner correctement.
^$
) je ne suis pas sûr que la capture d'un groupe est nécessaire. Aussi,+33 0 12 34 56 78
n'est pas un nombre valide...RegEx pour format: 0X XX XX XX XX +33 X XX XX XX XX