Besoin d'aide

Résolu
angenoir62 Messages postés 7 Date d'inscription mercredi 2 juin 2010 Statut Membre Dernière intervention 13 juin 2013 - 12 juin 2013 à 21:42
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 10 juil. 2013 à 18:23
Bonjour,

J'espère que je suis sur le bon topic
J'ai besoin d'aide , je suis une formation en informatique (débutant) , je dois faire un programme en javascript qui m'affiche les entiers entre deux nombres saisis par un utilisateur
Cela fait 3 jours que je suis dessus et à force de chercher , de s'acharner, de changer encore et encore le code sans succès , je me suis perdue et j'ai tout mélanger, supprimer ...bref! J'ai foutu un bordel dans le code a rendre fou Einshtein
Serait il possible qu'une personne m'envoie le code du programme ou m'aide à re-frabriquer le code
S'il vous plait
Merci

6 réponses

pmcoste Messages postés 72 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 25 juillet 2013 1
13 juin 2013 à 15:35
Et la même chose mais en plus condensé :
<!DOCTYPE html>
<html>
<head>
<title>pmc</title>
<meta charset="iso8859-1">
<script type="text/javascript">
String.prototype.before=function(s) {
      var aTmp=this.split(s);
      return(aTmp[0]);
}
var $=function(id) {
      return (typeof(id)=="string") ? document.getElementById(id) : id;
}
var verif=function() {
   var expReguliere=/[^0-9]+/g;
   $('resultat').innerHTML=parseInt($('nb1').value.before(".").replace(expReguliere, "")) +
                                          "
" +
                                          parseInt($('nb2').value.before(".").replace(expReguliere, ""));
   return false;
}
</script>
</head>

<form name="pm" onsubmit="javascript:return(verif())">
   
   
   
</form>





</html>


-------------------
Oderint dum metuant
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
13 juin 2013 à 08:22
Salut,

Je déplace vers le forum javascript
0
angenoir62 Messages postés 7 Date d'inscription mercredi 2 juin 2010 Statut Membre Dernière intervention 13 juin 2013
13 juin 2013 à 12:23
Merci et désolée
0
pmcoste Messages postés 72 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 25 juillet 2013 1
13 juin 2013 à 15:27
Bonjour,

Le mieux est de faire des expressions régulières pour filtrer sur les chiffres de 0 à 9. Tout ce qui est saisi par l'utilisateur et qui ne correspond pas à ce critère doit être remplacé par le caractère vide ("")
Une fois ces caractères remplacés (donc tu auras que des entiers, tu force la récupération en entier pour éviter d'afficher "000012" (dans ce cas, il faut afficher "12") : utilise parseInt()

Exemple :

<!DOCTYPE html>
<html>
<head>
<title>pmc</title>
<meta charset="iso8859-1">
<script type="text/javascript">
//Fonction associée à toutes les chaines de caractères permettant de récupérer tout ce qui se trouve à gauche d'un caractère.
//Exemple :
//"123.456".before(".") retournera "123"
String.prototype.before=function(s) {
      var aTmp=this.split(s);
      return(aTmp[0]);
}
function verif() {
   //On récupère la valeur du champ "nb1". nb1 est ici une chaine de caractère
   var nb1=document.getElementById("nb1").value;
   //On récupère la valeur du champ "nb2". nb2 est ici une chaine de caractère
   var nb2=document.getElementById("nb2").value;
   //Expression régulière permettant de tester les caractères entre 0 et 9
   var expReguliere=/[^0-9]+/g;
   //On récupère le DIV de résultat
   var resultat=document.getElementById("resultat");

   //On récupère d'abord les chiffres situés à gauche de la virgule
   nb1=nb1.before(".");
   nb2=nb2.before(".");
   //nb1 est ici une chaine de caractère ne comportant que des chiffres de 0 à 9
   nb1=nb1.replace(expReguliere, "");
   nb2=nb2.replace(expReguliere, "");
   //Et on force en integer
   nb1=parseInt(nb1);
   nb2=parseInt(nb2);

   //On affiche le résultat dans la DIV "resultat"
   resultat.innerHTML=nb1+"
"+nb2;
   return false;
 }
</script>
</head>

<form name="pm" onsubmit="javascript:return(verif())">
   
   
   
</form>





</html>

-------------------
Oderint dum metuant
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
angenoir62 Messages postés 7 Date d'inscription mercredi 2 juin 2010 Statut Membre Dernière intervention 13 juin 2013
13 juin 2013 à 19:40
Merci beaucoup pmcoste ! C'est très gentil !

On fait comment pour fermer ce topic ??? Puisque le problème est résolu
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
10 juil. 2013 à 18:23
Bonjour,

Je me permet de déterrer un sujet qui date (et qui, en plus est marqué en résolu)..
Mais en lisant la demande et la réponse je trouve qu'il y a un souci...

La demande était :
m'affiche les entiers entre deux nombres saisis par un utilisateur


j'en conclus donc qu'il faut afficher TOUS les entiers qui se trouvent entre deux nombres saisis par un utilisateur.
Par exemple :
Nombre1 = 23
Nombre2 = 27
Le résultat devrait être : 24,25,26

La fonction est alors :
var verif=function() {
   var expReguliere=/[^0-9]+/g;
   var listnb="";
   var nb_1 = (parseInt($('nb1').value.before(".").replace(expReguliere, "")));
   var nb_2=(parseInt($('nb2').value.before(".").replace(expReguliere, "")));
   for (var x=(nb_1+1); x < nb_2; x++){
listnb=listnb+"
"+x;
}
$('resultat').innerHTML=listnb;
  return false;
}


Bref, une simple boucle for entre les deux nombres donnés par l'utilisateur

(j'ai quand même gardé l'expression régulière de pmcoste vu que cela évite des erreurs de saisie.. même si en stage, je doute que vous l'ayez vu...)

Cordialement,
Jordane
_____________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
Rejoignez-nous