Accueil > Forum > > > > Autoriser seulement des nombres dans une variable
Autoriser seulement des nombres dans une variable
dimanche 4 septembre 2011 à 19:56:18 |
Autoriser seulement des nombres dans une variable

spacedelta
|
Bonjour,
Cela fait depuis une bonne journée que je m'énerve sur mon code.
Je recherche un bout de script qui me permettrait d'autoriser seulement des nombres
dans une variable. J'ai cherché, et j'avais trouvé ceci :
Code PHP : preg_match('`[^1-9]`', $mavariable);
Donc moi ça m'allait. Oui mais je me suis après rendu compte que je ne pouvais pas mettre de nombre du genre 11, 12, 13, 14, ... mais seulement des grand trucs ou du moins avec des 0 (comme 9000058 ou 10)!
Du coup je viens sur ce forum pour vous demander si vous ne connaissez pas une solution qui me permettrait d'autoriser les caractères 0123456789 et bien sûr, de bloquer tous les autres.
Merci d'avance pour votre aide !!
@+
|
|
lundi 5 septembre 2011 à 08:58:18 |
Re : Autoriser seulement des nombres dans une variable

spacedelta
|
Re Bonjour, je sais que ça fait que une nuit que ce sujet est posté mais mon code ne pouvait pas attendre =S.
Donc pour ceux qui voulait connaître une possibilité pour le faire (que j'ai fait avec un preg_replace) je vous met le code à disposition.
Code PHP :
$mavariable = "211021005"; // on peut, il n'y a que des nombres
$mavariable = "abc123"; // ah, là on ne pourrait pas =/
$caractereamodifier = array ('@[éèêëÊË]@i','@[àâäÂÄ]@i','@[îïÎÏ]@i','@[ûùüÛÜ]@i','@[ôöÔÖ]@i','@[ç]@i','@[ ]@i','@[^a-zA-Z0-9_]@', '@[abcdefghijklmnopqrstuvwxyz]@i');
$transformerparsa = array ('','','','','','','','', '');
$verifnocaractspe = preg_replace($caractereamodifier, $$transformerparsa, $mavariable);
if($mavariable == $verifnocaractspe){ // là on compare la valeur reçu de preg_replace
echo("Ma valeur n'a pas de caractères spéciaux, on peut continuer ! =D");
}else{
echo("ben merde, y'a des caractères spéciaux =( ");
}
Bon @+ tout le monde si quelqu'un connait une autre façon moins spartiate et plus homogène il sera le bienvenu, @+
|
|
lundi 5 septembre 2011 à 18:29:53 |
Re : Autoriser seulement des nombres dans une variable

kohntark
|
Réponse acceptée !
Salut,
Mon dieu ce que tu te prends la tête !!
[...] mais seulement des grand trucs ou du moins avec des 0 (comme 9000058 ou 10)!
preg_match('`[^1-9]`', $mavariable);
Normal, puisque là tu cherches tout ce qui n'est pas ( ^) un chiffre entre 1 et 9 ( 1-9)
preg_match() retournera donc 1 dès qu'il y a un 0 ou un caractère non numérique.
$mavariable = "211021005"; // on peut, il n'y a que des nombres
$mavariable = "abc123"; // ah, là on ne pourrait pas =/
$caractereamodifier = array ('@[éèêëÊË]@i','@[àâäÂÄ]@i','@[îïÎÏ]@i','@[ûùüÛÜ]@i','@[ôöÔÖ]@i','@[ç]@i','@[ ]@i','@[^a-zA-Z0-9_]@', '@[abcdefghijklmnopqrstuvwxyz]@i');
$transformerparsa = array ('','','','','','','','', '');
$verifnocaractspe = preg_replace($caractereamodifier, $$transformerparsa, $mavariable);
if($mavariable == $verifnocaractspe){ // là on compare la valeur reçu de preg_replace
echo("Ma valeur n'a pas de caractères spéciaux, on peut continuer ! =D");
}else{
echo("ben merde, y'a des caractères spéciaux =( ");
}
C'est affreux, pas beau, lourd, complexe, en doublon et ça ne fonctionnera pas à tous les coups.
... et puis ça ne réponds pas à ta demande initiale qui est de n'autoriser que les chiffres (et pas les remplacer)
Bref, avec une regex :
Code PHP :
^ : début de chaîne
[0-9] : les caractères 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9
+ : une ou plusieurs fois (mettre * si tu veux autoriser les chaînes vides)
$ : fin de la chaîne
ou mieux :
Code PHP :
\d == [0-9]
ou encore mieux : utiliser les fonctions natives de PHP qui sont généralement moins gourmandes en ressources que les expressions régulières :
ctype_digit()
is_numeric()
is_int()
Attention à bien lire la doc avant leur utilisation afin que cela réponde correctement à ta demande (comparaison des types, notations style "1e23", etc ...)
Cordialement,
Kohntark -
|
|
Cette discussion est classée dans : code, variable, nombres, seulement, autoriser
Répondre à ce message
Sujets en rapport avec ce message
Variable dans une session [ par RockmanX ]
Voila,je voudrais stocker des données dans une session nommée session_user qui s'ouvre à la suite d'un formulaire de login si le mot de passe et le no
Prendre un morceau de code et le mettre dans une variable [ par Enishi ]
Je voudrais prendre un morceau de mon code et le mettre dans une variable. Avez-vous une idée?$text = preg_replace("/\[next=1\](.*?)\[nex/si", $code['
Mettre le contenu de <title> dans une variable [ par ElGaunt ]
Salut à tous,J'aimerais mettre le contenu de la balise du code html dans une variable que je pourrai utiliser dans mon code php.C'est possible ? Ci o
Prob de variable [ par yuwoz8 ]
Voila je viens de me mettre ds le php et je galerevoici mon code:global $etat;global $
Problème de easy PHP 1.6 à easy PHP 1.7, variable [ par kilgoreweb ]
Bonjour !, en installant la nouvelle version de easy PHP 1.7 je me suis aperçue que les variables de mes scripts PHP déliraient ex : Notice: Undefined
incrementer une variable. [ par zzzzzz ]
Salut voici mon code:$idvalid = 0;$idsupr = 0;while($rs = mysql_fetch_array($sql,MYSQL_ASSOC)) {$idvalid++;$idsupr++;$rituel = "".$rs['rituel']."";ech
Unexpected T_IF T_variable .... [ par x0s ]
bonjour j'ai une erreur dans mon script, il m'indique:"Parse error: parse error, unexpected T_IF in w:\design\easyphp\www\bac-fr\admin\modif_fiche.php
Probleme de formulaire et de variable a reccuperer ds un case [ par Fantomas33 ]
Bonjour,Sur ma page j'ai un case. L'action par défaut est de valider le formulaire, l'autre cas est l'action voulue. Voici mon code : switch($v
pb de variable non defini avec switch [ par loicba ]
BonjourJe suis débutant et j'ai un petit probler avec mon code sourcece code se trouve sur index.php et donc lor du 1er lancement , la variable $mod n
Petit pb en PHP, iniatiliser une variable dans une liste deroulante [ par dadoudamien ]
Bonjour,JE galère un peu.J'essaye de mettre a jour dynamiquement la variable $qte666, avec une liste déroulante.voici le tronche de mon code (c juste
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
XML ET PHPXML ET PHP par karouani
Cliquez pour lire la suite par karouani
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|