Comment transformer des caractères en entier ?

Comment transformer des caractères en entier ? - PHP - Programmation

Marsh Posté le 04-07-2003 à 18:59:35    

Bonjour,
 
Dans mon formulaire je veux tester si la personne à bien rentrée des chiffres dans le champs "numéro de téléphone".
 
J'ai fait un formulaire avec un input:
 
Telephone : <INPUT TYPE="text" NAME="telephone" value="<? echo $telephone; ?>">
 
Le problème c'est que ce champ ne renvoie que des char, donc il me faut une fonction qui transforme le char en int.
 
En langage C il y a une fonction itoa(); qui transforme une chaine de char en int.
Mais en PHP je ne connais pas le nom de cette fonction.
Pourriez-vous me donner le nom? ou la méthode?
 
Merci :)

Reply

Marsh Posté le 04-07-2003 à 18:59:35   

Reply

Marsh Posté le 04-07-2003 à 19:11:02    

fait un ereg
 
http://ca3.php.net/ereg

Reply

Marsh Posté le 04-07-2003 à 19:24:44    

c gentil, mais ce n'est pas le fct que je cherche.

Reply

Marsh Posté le 04-07-2003 à 19:31:10    

avec ereg tu peux facilement valider que ton champs numéro de téléphone a le format ###-#### ou (###) ###-####
 
c dailleur fait pour ca, et 10fois moins compliquer que de mettre ca en int...

Reply

Marsh Posté le 04-07-2003 à 20:31:22    

burgergold a écrit :

avec ereg tu peux facilement valider que ton champs numéro de téléphone a le format ###-#### ou (###) ###-####
 
c dailleur fait pour ca, et 10fois moins compliquer que de mettre ca en int...


 
Je ne recherche pas une fonction qui vérifie le formatage d'une chaine de caractère. (d'ailleur avec ce genre de vérification, la personne peut très bien entrer des caractères, donc cela ne répond pas du tout à mon besoin).
 
J'ai besoin de savoir si la personne à bien entrée des entiers dans le champs téléphone.
 
Je te remercie néanmoins pour ton aide  :jap:

Reply

Marsh Posté le 04-07-2003 à 20:36:51    

Reply

Marsh Posté le 04-07-2003 à 20:57:35    


 
vi d'accord is_int(); c bien, mais cela ne résoud pas mon problème.
 
Je récapépète:
La variable téléphone qui sort de mon formulaire est obligatoirement INT, ok?  
Que la personne écrive dans le champ téléphone:
ex 1: 0248998844
ou
ex 2: Garcimor
 
Et bien la variable $telephone sera toujours du type char, puisqu'elle est du type char dans le <input>.
Et c bien ca mon problème.
Je ne peut pas savoir si la personne à entrée des chiffres, si les chiffres et les lettres sont tous de type char ... c indifférenciable.
 
Je crois que j'ai trouvé un truc pas mal:
 
echo "ctype_digit=",ctype_digit($telephone);
ctype_digit();
Cette fonction renvoie 1 si la chaine est un entier et FALSE si ce n'est pas un entier.

 
Grace à cette fonction, je sais si la personne à entrée un entier ou un char.
Je continue mon code  :D

Reply

Marsh Posté le 04-07-2003 à 21:01:18    

aragorns a écrit :


 
Je ne recherche pas une fonction qui vérifie le formatage d'une chaine de caractère. (d'ailleur avec ce genre de vérification, la personne peut très bien entrer des caractères, donc cela ne répond pas du tout à mon besoin).
 
J'ai besoin de savoir si la personne à bien entrée des entiers dans le champs téléphone.
 
Je te remercie néanmoins pour ton aide  :jap:  


ca, ca retourne true si $telephone a 3 entiers suivi d'un trait d'union suivi de 4 entier, donc 888-8888 est valide mais pas ABC-DEFG
 

Code :
  1. ereg('^[0-9]{3}-[0-9]{4}$', $telephone)


 
la prochaine fois avant de cracher sur l'aide des autres, vérifies dont que ce qu'il te propose fonctionne

Reply

Marsh Posté le 04-07-2003 à 21:14:24    

burgergold a écrit :


ca, ca retourne true si $telephone a 3 entiers suivi d'un trait d'union suivi de 4 entier, donc 888-8888 est valide mais pas ABC-DEFG
 

Code :
  1. ereg('^[0-9]{3}-[0-9]{4}$', $telephone)


 
la prochaine fois avant de cracher sur l'aide des autres, vérifies dont que ce qu'il te propose fonctionne


 
Merci pour ta ligne :) c sympa.
Mais cela oblige la personne à entrer sont numéro de téléphone avec ce formatage ...
Nous en france nos tél ressemble à :
0149063344
ou
45 49 06 33 44
ou
45.49.06.33.44
ou
(33)4549063344 ect...
 
Donc on ne sait jamais comment ils vont entrer leur numéros.
Le plus facile serait alors de mettre le champs téléphone en type char dans ma table et puis voilà ...
Je ne sait pas comment font les pro pour stocker les numéros tel dans les bases de données.
 
Merci  :hello:

Reply

Marsh Posté le 04-07-2003 à 21:18:20    

encore une fois tu pourrais modifier légèrement la ligne pour que ca l'accepte les espaces et les 0-9 peut importe leur position
 
ou sinon adapté la ligne pour le format francais :D

Reply

Marsh Posté le 04-07-2003 à 21:18:20   

Reply

Marsh Posté le 04-07-2003 à 21:24:14    

"Je ne sait pas comment font les pro pour stocker les numéros tel dans les bases de données."
 
ils établissent 1 format pour entrer le numéro, et si le format est pas respecté, il reload la page en disant l'utilisateur: Hé toi! entre ce numéro dans le bon format sinon je l'accepte pas!
 
à partir de là c facile de valider le # avec ereg :D

Reply

Marsh Posté le 04-07-2003 à 22:01:14    

burgergold a écrit :

"Je ne sait pas comment font les pro pour stocker les numéros tel dans les bases de données."
 
ils établissent 1 format pour entrer le numéro, et si le format est pas respecté, il reload la page en disant l'utilisateur: Hé toi! entre ce numéro dans le bon format sinon je l'accepte pas!
 
à partir de là c facile de valider le # avec ereg :D


 
Oui, vue comment les formulaires sont fait en général, je crois qu'ils ne se casse pas la tête  :lol:  
Mais bon, c pour apprendre ...  
 
Elle est super bien ta fonction ereg();  :ange:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed