Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/12/2011, 17h26   #1
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 151
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 151
Points : 37
Points : 37
Par défaut série de chiffres + espaces

salutatous,

je cherche à vérifier qu'un champ prenne en compte n'importe quelle série de chiffres (pas de lettre) incluant des espaces, du type :

05 58 25 22 77
ou bien encore
00 261 2 02 23 27 80

si j'utilise is_numeric() c'est pas bon car il ne prend pas en compte les espaces !

merci de votre aide
nicomax34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2011, 17h45   #2
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Bonjour,

Essaies avec ça :
Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
$a     = '123 45 6 45554 22565   474';
$b     = '123 a5 6 45554 22v65   474';
$pattern = '/^(\d|\s)*$/';
$ma = preg_match($pattern, $a); // true
$mb = preg_match($pattern, $b); // false
 
// SANS REGEX
$ma = ctype_digit(str_replace(' ', '', $a)); // true
$mb = ctype_digit(str_replace(' ', '', $b)); // false
?>
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2011, 10h48   #3
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 151
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 151
Points : 37
Points : 37
j'ai dû rajouter un point d'exclamation devant la fonction pour obtenir ce que je souhaitais, comme suit :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
$_POST['telephone_fixe'] = '123 a5 6 45554 22v65   474';
echo 'contenu variable : ' . $_POST['telephone_fixe'] . '<br /><br />';
 
//++++++++++++++++++++++++++
 
if (!preg_match("/^(\d|\s)*$/",$_POST['telephone_fixe'])) {
	echo 'avec regex : INCORRECT <br /><br />';
} else {
	echo 'avec regex : CORRECT <br /><br />';
}
 
//++++++++++++++++++++++++++
 
if (!ctype_digit(str_replace(' ', '', $_POST['telephone_fixe']))) {
	echo 'sans regex : INCORRECT <br /><br />';
} else {
	echo 'sans regex : CORRECT <br /><br />';
}
 
?>
merci beaucoup
nicomax34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2011, 11h06   #4
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Citation:
Envoyé par nicomax34 Voir le message
j'ai dû rajouter un point d'exclamation devant la fonction pour obtenir ce que je souhaitais
Euh, tu peux tout aussi bien retirer ton point d'exclamation et inverser l'ordre de sortie des messages :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if ( ! (test)) {
   echo 'erreur';
}
else {
   echo 'ok';
}
 
est équivalent à :
 
if (test) {
   echo 'ok';
}
else {
   echo 'erreur';
}
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2011, 11h44   #5
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 151
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 151
Points : 37
Points : 37
effectivement
merci encore
nicomax34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h05.


 
 
 
 
Partenaires

Hébergement Web