Menu

Moyen pour que javascript accepte les Majuscules dans les con... [Résolu]

alexsoti 95 Messages postés dimanche 25 octobre 2015Date d'inscription 18 avril 2018 Dernière intervention - 17 juil. 2017 à 21:23 - Dernière réponse : alexsoti 95 Messages postés dimanche 25 octobre 2015Date d'inscription 18 avril 2018 Dernière intervention
- 19 juil. 2017 à 14:27
Bonjour,
je m'explique, je suis nouveau dans la programmation et je voudrai savoir si il existe un moyen pour que dans ce code javascript (exemple tout bête):

var ouinon = prompt("Voulez vous jouer au ni oui ni non ?");
while ((ouinon !== "oui") && (ouinon !== "non")) {
ouinon = prompt("Voulez vous jouer au ni oui ni non ?");
}
console.log("Vous avez perdu !");

si la personne tape Oui ou Non avec une majuscule, cela continue la boucle ?
Afficher la suite 

4 réponses

Répondre au sujet
KX 15369 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 22 avril 2018 Dernière intervention - 17 juil. 2017 à 23:25
+1
Utile
3
Bonjour,

"la personne tape Oui ou Non avec une majuscule, cela continue la boucle"
Ton code le fait déjà...
La boucle s'arrête uniquement avec oui ou non en minuscule.
Cette réponse vous a-t-elle aidé ?  
alexsoti 95 Messages postés dimanche 25 octobre 2015Date d'inscription 18 avril 2018 Dernière intervention - 18 juil. 2017 à 11:24
euh oui je me suis mal éxprimé, c'est le contraire que je veux justement
KX 15369 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 22 avril 2018 Dernière intervention - 18 juil. 2017 à 12:16
Trois solutions :

1) Tu convertis le string saisi en minuscules et tu le compares comme tu le fais actuellement (ce qui acceptera toutes les combinaisons : oui, Oui, OUI, oUi, etc.)
Voir https://www.w3schools.com/jsref/jsref_tolowercase.asp

2) Tu rajoutes autant de valeurs qu'il faut, tu l'as fait pour oui et non tu peux continuer à le faire autant de fois que tu veux pour Oui et Non en rajoutant autant de && que nécessaire.

3) Une alternative à la deuxième solution est de faire une liste de valeurs et plutôt que de faire une condition à rallonge (difficilement maintenable) on fait une boucle pour savoir si le mot saisi est dans la liste. On peut aussi combiner avec la première solution et faire un traitement sur le string saisi avant de faire le test.
alexsoti 95 Messages postés dimanche 25 octobre 2015Date d'inscription 18 avril 2018 Dernière intervention - 19 juil. 2017 à 14:27
Ok merci pour ton aide
Commenter la réponse de KX