Supprimer voyelles et espaces dans une <input>

Résolu
Tri4L
Messages postés
9
Date d'inscription
mardi 3 avril 2018
Statut
Membre
Dernière intervention
20 avril 2018
- Modifié le 3 avril 2018 à 13:53
BunoCS
Messages postés
15255
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
10 mai 2022
- 3 avril 2018 à 16:13
Bonjour,
je souhaite pour un travail de recherche, trouver de l'aide pour un script qui peut m'aider à supprimer toutes les voyelles (a,e,i,u,o,y) puis espaces vides dans une <input> après appui sur un bouton. Donc si par exemple je rentre "azertyuiop" dans le <input>, le résultat après click sur le bouton deviens "zrtp". J'ai des connaissances en html / css mais alors en javascript je suis une vrai quiche pour l'instant...
Admettons:

<html>
    <head>
        <title></title>
 
        <script type="text/javascript">
        </script>

    </head>
    <body>

        <input id="inputbox01" width="50px;">
        <input type="button" value="Enlever voyelles" onclick="" />

    </body>
</html>


Je remercie les éventuels codeurs de vôtre aide!

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ICI

Merci d'y penser dans tes prochains messages.

3 réponses

BunoCS
Messages postés
15255
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
10 mai 2022
103
3 avril 2018 à 13:53
Bonjour,

Alors, t'aider, oui, ça doit être faisable. Par contre, faire le travail à ta place, non ;)

1
Tri4L
Messages postés
9
Date d'inscription
mardi 3 avril 2018
Statut
Membre
Dernière intervention
20 avril 2018

Modifié le 3 avril 2018 à 16:09
Merci BunoCS de ta réponse, je comprends. Je n'y connais rien mais j'imagine que la première étape est de créer une variable (ou fonction?) qui récupère le contenu de "l'input".
Genre quelque chose comme ça:
Je créer une fonction que je nomme "mafonction", dans celle-ci je créer une variable que j'associe au contenu de l'input (id="inputbox01").
Je paramètre mon bouton pour lancer "mafonction" lors du click.
Mon raisonnement est t'il correct jusque-là? (Ceci est mon tout premier script!)

<html>
    <head>
        <title></title>
 
        <script type="text/javascript">
            function mafonction()
        {
            var mavariable = document.getElementById("inputbox01").value;
            ...
        }   
        </script>
    </head>
    <body>

        <input type="text" id="inputbox01" width="50px;">
        <input type="button" value="Enlever voyelles" onclick="mafonction()" />

    </body>
</html>
0
BunoCS
Messages postés
15255
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
10 mai 2022
103
3 avril 2018 à 14:35
Il te faut quelques bases en Javascript, oui: variables et fonctions.
Ensuite, il faudra répondre à la question suivante: "comment récupérer le contenu d'un input ?"
Puis, celle-ci: "comment supprimer des caractères d'une chaine de caractère ?"
Et enfin: "que faire avec le résultat ?"

Pour répondre aux 2 premières questions, quelques petites recherches rapides t'aideront. Pour la dernière, à toi d'y répondre ;)
1
Tri4L
Messages postés
9
Date d'inscription
mardi 3 avril 2018
Statut
Membre
Dernière intervention
20 avril 2018

Modifié le 3 avril 2018 à 16:09
Ok, ensuite j'utilise la méthode "replace()" pour répondre a l'étapes suivantes cad, "comment supprimer des caractères d'une chaine de caractère ?" Le résultat est immédiat dans le <input> :

<html>
<head>
<title></title>

<script type="text/javascript">
function mafonction()
{
var mavariable = document.getElementById("inputbox01").value;
var res = mavariable.replace("a", "");                            
 document.getElementById("inputbox01").value = res;
}
</script>

</head>
<body>
<input type="text" id="inputbox01" width="50px;">
<input type="button" value="Enlever voyelles" onclick="mafonction()" />
</body>
</html>
0
Tri4L
Messages postés
9
Date d'inscription
mardi 3 avril 2018
Statut
Membre
Dernière intervention
20 avril 2018

Modifié le 3 avril 2018 à 15:39
Seulement ce paramètre ("a", "") ne supprime (remplace par rien) que un seul "a" dans le <input> donc si j'en ai plusieurs je dois appuyer plusieurs fois sur le bouton donc je modifie:

var res = mavariable.replace("a", "");
par
var res = mavariable.replace(/a/g,"");

ce qui enlève tous les "a" en un seul click sur le bouton. Test ok.
Par contre je galère pour rajouter les autres lettres à supprimer en même temps (e,u,i,o,y,) ça doit surement être une syntaxe super simple (quand on la connais :) Je sais que c'est là dedans que sa se passe: (/a/g,"")
0
Tri4L
Messages postés
9
Date d'inscription
mardi 3 avril 2018
Statut
Membre
Dernière intervention
20 avril 2018

Modifié le 3 avril 2018 à 16:09
Au passage je rajoute un bouton effacer ce qui donne:

<html>
  <head>
    <title></title>
    <script type="text/javascript">
function mafonction()
{
var mavariable = document.getElementById("inputbox01").value;
var res = mavariable.replace(/a/g, "");
document.getElementById("inputbox01").value = res;
}
 function effacer()
{
 document.getElementById("inputbox01").value="";
}
</script>
  </head>
  <body>
    <input type="text" id="inputbox01" width="50px;">
    <input type="button" value="Enlever voyelles" onclick="mafonction()" />
    <input type="button" value="Effacer" onclick="effacer()" />
  </body>
</html>
0
Tri4L
Messages postés
9
Date d'inscription
mardi 3 avril 2018
Statut
Membre
Dernière intervention
20 avril 2018

3 avril 2018 à 15:53
Bon c'est là que je bloque:
Cette ligne supprime tous les "a" --> var res = mavariable.replace(/a/g,"");
Comment rajouter la suppression des autres lettres: e,u,i,y?
0
BunoCS
Messages postés
15255
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
10 mai 2022
103
Modifié le 3 avril 2018 à 16:10
Soit tu fais une boucle pour chaque lettre à supprimer, soit tu utilises des expressions régulières.

Note: fais attention à bien rajouter les balises code (cf. ta question que j'ai modifiée)
0
Tri4L
Messages postés
9
Date d'inscription
mardi 3 avril 2018
Statut
Membre
Dernière intervention
20 avril 2018

Modifié le 3 avril 2018 à 16:12
Ok trouvé, donc voici le code final:

<html>
  <head>
    <title></title>
    <script type="text/javascript">
function mafonction()
{
var mavariable = document.getElementById("inputbox01").value;
var res = mavariable.replace(/a|e|i|o|u|y/g, "");

document.getElementById("inputbox01").value = res;
}
 function effacer()
{
 document.getElementById("inputbox01").value="";
}
</script>
  </head>
  <body>
   
   <input type="text" id="inputbox01" style="width: 50px;" >
    <input type="button" value="Code nostradamus" onclick="mafonction()" />
 <input type="button" value="Effacer" onclick="effacer()" />
  </body>
</html>


Vous devez vous demander l'utilité de ce script je pari!
0