Condition, array & contains - JavaScript

Résolu/Fermé
Utilisateur anonyme - 3 avril 2014 à 02:43
 Utilisateur anonyme - 7 avril 2014 à 00:51
Bonjour peuple de la Terre.

Oui, oui. Vous la derriere l'ecran.
J'ai une petite question a vous poser, car je cherche depuis pas mal de temps sur internet, mais je trouve pas.


Je souhaiterais, en language javascript SANS Jquery;
a l'aide des conditions If et else (ou bien d'un switch) verifier ce qu'un utilisateur a ecris et le comparer a un tableau de type array afin de faire une sorte de dictionnaire.

en some je cherche quelque chose comme ca : (evidement c'est faux vu que je ne sais pas le faire) :

function IsPosting (User, text)
{
     var MotInterdis = ["Patate", "Carotte", "Banane", "@", "&"];

     if (user.text.contains(MotInterdis)) // si l'utilisateur utilise un mot ou un symbole interdis
     {
          alert("t'as pas le droit de marquer cela");
     }
     else
     {
          alert("a votre bon plaisir mon seigneur");
     }
}


J'ai vus plein de petit bout de codes, qui me permettais de conter mon array et savoir si carotte est second, mais rien qui ressemble de loin ou de pres a ce que je cherche.
(et puis je me fiche eperduement de savoir que carotte soit second ou centieme)

Donc, si une/des ame(s) charitable passe par ici et a l'aimabilité de me fournir un code example avec des explication, histoire que j'aprenne je vous en remercie d'avance. =)

edit : Le premier qui me sort la legendaire replique [Recherche] sans savoir que j'ai deja cherché et que j'ai pas trouvé, gagnera le legendaire "je m'enfoutisme de ce que tu me dit bro, j'tignore, ca m'evitera d'etre vulgaire"

edit 2 : Comme le systeme de mot cle n'as pas l'air de marcher, je vais me permettre de mettre en gras qui sont, pour mon humble avis, les mots clés

desesperement votre,
-Lordcarunk-

3 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
3 avril 2014 à 03:07
Bonjour,

En "pure" javascript.. une petite fonction qui vérifie si ton tableau contient la valeur recherchée :
function contains(arr, strTxt) {
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] === strTxt) {
            return true;
        }
    }
    return false;
}


Ou sinon.. plus simple : arr.indexOf
if (yourArray.indexOf("someString") > -1) {
    //In the array!
} else {
    //Not in the array
}


Et juste pour le fun... pour avoir le
je m'enfoutisme de ce que tu me dit bro...
Edit1 : https://lmgtfy.app/?q=https%3A%2F%2Fwww.google.fr%2F%23q%3Djavascript%2Barray%2Bcontains

^-^
1
Utilisateur anonyme
3 avril 2014 à 15:59
Bonjour Jordane45,

Ayant recherche sur google aussi, mais n'ayant pas les bon mots cles il est sur que j'avais du mal a trouver.

Vous n'aurez ce pendant pas le droit a mon legendaire :
"je m'enfoutisme de ce que tu me dit bro..."
celui ci etant reserve au gens qui n'ont pas d'autre solution que de repondre :
"Et t'as essaye la fonction rechercher du site ?"

Je vous remercie bien pour l'example "pur" desormais, il ne me reste plus qu'as l'analyser et apprendre leurs fonctionnement.
0
Utilisateur anonyme
7 avril 2014 à 00:51
Okay, ca y est j'ai enfin compris comment ca marchais ! :3
Et j'ai aussi compris pourquoi mon script precedant marchais pas... v.v
On_Chat dans la version que j'utilise ne renvois apparement pas les conditions de type if et else. je suppose qu'elle ne renvois pas non plus les conditions de type switch (pas encor teste) mais bon, en tout cas, maintenant je connais le fonctionnement de ce petit bout de code ! :a
0
Utilisateur anonyme
3 avril 2014 à 06:25
salut, tu peux aussi faire comme cela :

<body>
		<form>
			<textarea>
				
			</textarea>
			<input type="button">
		</form>
		<script>
			document.getElementsByTagName("input")[0].onclick = function() {
				if (/Patate|Carotte|Banane|@|&/i.test(document.getElementsByTagName("textarea")[0].value)) {
					alert("t'as pas le droit de marquer cela");
				} else {
					alert("a votre bon plaisir mon seigneur");
				}
			}
		</script>
	</body>

1
Utilisateur anonyme
3 avril 2014 à 06:27
/Patate|Carotte|Banane|@|&/i

le petit i à la fin c'est pour prendre les minuscule et les majuscule en compte. Tu peux le retirer sans souci
0
Utilisateur anonyme
3 avril 2014 à 16:03
Bonjour lobotoFix,

Merci d'avoir accordé un peut de temps a ma recherche. "Malheureusement", ma recherche se base sur le language pur de javascript pour faire des plugins et qui ne seront pas en "rellation" avec une interface web.

Cependant, je garde ca sous le coude. Ca pourrais m'inspirer ;)
0
Bon j'ai passe la journee a lire, essayer, tester les code fournis.. Apparemment aucun ne marchent avec ce que je veux faire...

D'un coté j'ai un cote tout pourris, mais neanmoins qui fonctionne :
function On_Chat(Player, text) // Ma fonction doit s'appler onchat, elle ne peut s'appeller autrement
{
 if (((text.Contains("Bitch")) || (text.Contains("Slut")) || (text.Contains("Whore")) || (text.Contains("Basterd")) || (text.Contains("Fuck")) || (text.Contains("Sucker")))
 {
  Player.Message("Your message cannot contains vulgarity");
  Player.Disconnect();
 }
 else
 {
  Player.Message("Message sent successfully");
 }
}


Et d'un autre coté un array tout beau tout propre, mais qui marche pas :
function On_Chat(Player, text)
{
 var NoVulgarity = ["Bitch", "Slut", "Whore", "Basterd", "Fuck", "Sucker"];
 
 for (var NoVulgarity = 0; NoVulgarity < Player.length; NoVulgarity++)
 {
  if (Player[NoVulgarity] === text)
  {
   Player.Message("Your message cannot contains vulgarity");
   Player.Disconnect();
  }
  else
  {
   Player.Message("Message sent successfully");
  }
 }
}


Petit details :
actuellement j'essaye de faire un plugin coté serveur en JS qui est supposé filtrer ce que le joueurs disent dans le chat.
Si un joueur dit "J'aime les carottes" et que "carottes" est interdis le joueur recevra une notification (PLayer.Message)

Actuellement, pour le code de l'array vous me dirrez : "Oui mais la c'est du copié collé de ce qu'on t'as fournis, t'as juste remplacé des mots"
Oui.. J'ai tappé ce code plus d'une quarantaine de fois aujourd'hui...

Mes codes sont eparpillé entre brouillon1.txt et tamerepourquoitumarchepas.js.
la j'ai plus trop la fois de codder, donc, je l'ais juste retappe vite fait pour montrer plus ou moins a quoi je voudrais que ca ressemble v.v (et montrer a quoi il a plus ou moins ressemble tout au long de la journee)
0