par

Dans le cadre d'un formulaire HTML, comment fait-on pour vérifier la bonne forme d'un numéro de téléphone portable, coté Client et Serveur, avec JS et PHP ?

1 Réponse

+1 validé
par

On peut vérifier la bonne forme d'un numéro de téléphone portable avec une expression régulière, une REGEX :

  • En HTML5 avec l'élément PATTERN d'un formulaire, coté client.
  • Coté serveur avec PHP.

Vous n'avez pas forcement besoin de JavaScript.

Un utilisateur qui saisit un numéro de téléphone pourrait le faire de différentes manières : avec ou sans espace entre les chiffres, avec un séparateur comme un "-" ou un ".".

06 01 02 03 04
0601020304
06-01-02-03-04
06.01.02.03.04

Voici le PATTERN correspondant à ces exemples :

pattern="0[1-68]([-. ]?[0-9]{2}){4}"

Exemple de formulaire HTML5 :

<form id="monFormulaire" method="post" action="#" role="form">
	<input type="text" value=""
	required="required" aria-required="true"
	pattern="0[1-68]([-. ]?[0-9]{2}){4}"
	title="Votre numéro de téléphone portable"
	spellcheck="false">
	<input type="submit" value="Envoyer">
</form>

Script PHP pour vérifier le numéro de téléphone coté serveur :

$telephone = "06.01-02.03 04";
if (preg_match("#^0[1-68]([-. ]?[0-9]{2}){4}$#", $telephone))
{
	$meta_carac = array("-", ".", " ");
	$telephone = str_replace($meta_carac, "", $telephone);
	$telephone = chunk_split($telephone, 2, "\r");
	echo $telephone;
}
else
	echo "$telephone n'est pas un numéro valide";

Le résultat sera : 06 01 02 03 04

  • preg_match vérifie que la variable $telephone respecte la REGEX
  • str_replace enlève les caractères - et . ainsi que les espaces.
  • chunk_split remet en forme le numéro de téléphone en ajoutant un espace tous les deux caractères.

Si vous voulez gérer les numéros à l’international, vous pouvez utiliser cette autre REGEX :

pattern="^(?:0|\(?\+33\)?\s?|0033\s?)[1-79](?:[\.\-\s]?\d\d){4}$"

http://html5pattern.com/Phones

Offre Sponsorisée

Ailleurs sur le Web

Lecture Recommandée

Edward Snowden - Mémoires vives

"Je m'appelle Edward Joseph Snowden. Avant, je travaillais pour le gouvernement mais aujourd'hui je suis au service de tous. Il m'a fallu près de trente ans pour saisir la différence et quand j'ai compris, ça m'a valu quelques ennuis au bureau."

L'homme qui a tout risqué pour dénoncer la surveillance globale, ou l'extraordinaire histoire d'un garçon brillant qui a grandi "en ligne", d'un homme devenu espion, puis lanceur d'alerte, et, en exil, la consciencce de l'internet.

Mémoires vives est un témoignage exceptionnel, également disponible en numérique.

Sujets Connexes

Questions liées

1 réponse
1 réponse
1 réponse
2 réponses
1 réponse
posée par anonyme 26-Juillet-2019
1 réponse
posée par anonyme 05-Septembre-2018

Merci pour votre visite sur 1FORMATIK.com

Un petit clic sur la pub est toujours apprécié, c'est elle qui finance le site

Bon surf

...