Probleme avec typeof

Résolu
darxen Messages postés 9 Date d'inscription dimanche 30 mars 2008 Statut Membre Dernière intervention 20 janvier 2010 - 1 déc. 2009 à 17:14
darxen Messages postés 9 Date d'inscription dimanche 30 mars 2008 Statut Membre Dernière intervention 20 janvier 2010 - 2 déc. 2009 à 09:11
Bonjour à tous,

j'ai besoin de vérifier que l'utilisateur n'ai remplie que des chiffres dans un input texte.

Hors mon typeof me retourne toujours la valeur string, meme si le champs du formulaire contient un (ou plusieurs) chiffre.

Voici mon code :



<script>
function is_numeric(){
contenu = document.getElementById('exemple').value;
type = typeof(contenu);
if ( type != 'number') {
alert ('Ce champs ne doit contenir que des chiffres');
}else{
alert ('tout va bien c\'est un chiffre');
}
alert ("tu viens de taper : "+contenu); // cette partie fonctionne
alert ("type : "+type); // Me retourne TOUJOURS string
}
</script>


Si jamais vous avez une idée sur la cause de ce probleme, ça serai super.

Merci d'avance.

4 réponses

cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
1 déc. 2009 à 19:06
ou sinon tu peux faire un Number(contenue) , si il renvoie pas NaN, c'est un nombre
3
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
1 déc. 2009 à 19:05
salut, un input renvoie toujours une string !

voici quelque fonctions qui pourront t'aider.

//juste un chiffre
String.prototype.isDigits = function(){
return /^\d$/.test(this);
};

//si un entier
String.prototype.isInt = function(){
return /^\d+$/.test(this);
};

//si un float
String.prototype.isFloat = function(){
return /^\d+\.\d+$/.test(this);
};

//si un nombre
String.prototype.isNumber : function(){
return /^\d+(\.\d+)?$/.test(this);
};

exemple d'utilisation :

if ( contenu.isNumber()) { }else{}
0
darxen Messages postés 9 Date d'inscription dimanche 30 mars 2008 Statut Membre Dernière intervention 20 janvier 2010
2 déc. 2009 à 09:05
un input renvoie toujours une string : c'est bien ce que je pensais.

Merci pour ton aide.
Je vais regarder tout de suite les solutions que tu m'a proposé, et je te tiens au courant.
0
darxen Messages postés 9 Date d'inscription dimanche 30 mars 2008 Statut Membre Dernière intervention 20 janvier 2010
2 déc. 2009 à 09:11
Bien jouer le : Number(contenu) !

Je connaissais pas cette astuce, et on peut dire que c'est bien pratique.

Encore une fois, merci de ton aide.
0
Rejoignez-nous