PHP – Regex pratique

Chiffre à 4 caractères de 0000 à 9999

function number4Digit($number){
	$regex = "/^[0-9]{4}$/";
	return preg_match($regex,$number);
}

Année de 1901 à 2155

function isYear($annee){
	$regex = "/^19[0-9]{1}[1-9]{1}|20[0-9]{2}|21[0-4][0-9]|215[0-5]$/";
	return preg_match($regex,$annee);
}

Year Data Type MySQL

Date au format Fr : JJ/MM/AAAA

function isDateFr($date){
	$regex = "/^0[1-9]|[1-2][0-9]|3[0-1])\/(0[1-9]|1[0-2])\/[0-9]{4}$/";
	return preg_match($regex,$date);
}

Email

  1. identifiant divisé en deux parties :
    1. au moins une lettre minuscule ou majuscule
    2. lettre de alphabet minuscule ou majuscule + chiffres de 0 à 9 + caractères spéciaux .,_ ou – de 0 à *
  2. le symbole @
  3. le domaine : lettre de alphabet + chiffres de 0 à 9 + caractères spéciaux .,_ ou – de 2 à *
  4. le symbole .
  5. l’extension : lettre de alphabet minuscule ou majuscule de 2 à *
function isMail($mail){
	$regex = "/^[a-zA-Z]{1}[a-zA-Z0-9_\-\.]*@[a-zA-Z0-9_\-]{2,}\.[a-z]{2,}$/";
	return preg_match($regex,$date);
}

Téléphone Fr – internationale

$tabTel = array(
	"+33 6 66 66 66 66"
);
function isTelFrStrict($tel){
	$regex = "/^\+33[ ][1-9]([ ][0-9]{2}){4}$/";
	return preg_match($regex,$tel);
}

Téléphone Fr – multi écriture

$tabTel = array(
	"0033 6 66 66 66 66",
	"00336 66 66 66 66",
	"0033666666666",
	"+33 6 66 66 66 66",
	"+33 666666666",
	"+33666666666",
	"06 66 66 66 66",
	"0 666666666",
	"0666666666"
);
function isTelFrMulti($tel){
	$regex = "/^(0033|\+33|0)[ ]?[1-9]([ ]?[0-9]{2}){4}$/";
	return preg_match($regex,$tel);
}