web-dev-qa-db-fra.com

Empêcher certains mots d'apparaître sur Google Sheets

Supposons que je dispose d'une grande feuille de calcul Google à laquelle plusieurs utilisateurs ont accès et que je ne suis pas en mesure de contrôler les utilisateurs qui y ont accès. J'ai un souci pour les trolls.

Comment pourrais-je empêcher les gens d'entrer certains mots, en particulier les insultes et les mots de malédiction, quelque chose d'extraordinaire avec une expression régulière dans la forme?

1
Denton Lewis

Oui, vous pouvez utiliser regexmatch avec l'option "formule personnalisée" de l'élément de menu de validation des données.

Créez une liste de tous les mots que vous voulez rejeter et joignez-les avec le | comme délimiteur, ce qui représente "ou" dans une expression rationnelle.

Je recommande de les laisser en minuscules, puis dans la formule, nous mettrons également le texte en minuscule pour nous assurer de bien saisir les deux cas/scénarios, mais par exemple, j'ai validé toutes les colonnes de la colonne H:

=if(REGEXMATCH(LOWER(H:H),"then|text"),False,True)

Les mots que j'ai choisi de rejeter étaient then et text - si vous choisissez de ne pas rejeter l'entrée, mais simplement de l'indiquer, elle ressemblera à l'image ci-dessous. Vous pouvez également choisir "rejeter l'entrée" et rejette littéralement toute cellule dans laquelle ils tentent d'entrer qui contient vos chaînes offensantes.

enter image description here

PS si vous choisissez rejeter, il ne sera même jamais entré comme dans l'image - je ne pouvais tout simplement pas capturer un événement ne se produisant PAS sur une photo lol

1

Le code suivant est actif dans la feuille de calcul et s'appelle un déclencheur onEdit.

Code

function onEdit(e) {
  return e.value ? (listBadWords(e.value) !== -1 ? e.range.clearContent() : null) : null;  
}

function listBadWords(Word) {
  // source: https://github.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/blob/master/en
  var listEN = [
    '2g1c','2 girls 1 cup','acrotomophilia','alabama hot pocket','alaskan pipeline','anal','anilingus','anus','apeshit','arsehole','ass','asshole','assmunch','auto erotic','autoerotic','babeland',
    'baby batter','baby juice','ball gag','ball gravy','ball kicking','ball licking','ball sack','ball sucking','bangbros','bareback','barely legal','barenaked','bastard','bastardo','bastinado','bbw',
    'bdsm','beaner','beaners','beaver cleaver','beaver lips','bestiality','big black','big breasts','big knockers','big tits','bimbos','birdlock','bitch','bitches','black cock','blonde action','blonde on blonde action',
    'blowjob','blow job','blow your load','blue waffle','blumpkin','bollocks','bondage','boner','boob','boobs','booty call','brown showers','brunette action','bukkake','bulldyke','bullet vibe','bullshit','bung hole',
    'bunghole','busty','butt','buttcheeks','butthole','camel toe','camgirl','camslut','camwhore','carpet muncher','carpetmuncher','chocolate rosebuds','circlejerk','cleveland steamer','clit','clitoris','clover clamps',
    'clusterfuck','cock','cocks','coprolagnia','coprophilia','cornhole','coon','coons','creampie','cum','cumming','cunnilingus','cunt','darkie','date rape','daterape','deep throat','deepthroat','dendrophilia','dick','dildo',
    'dingleberry','dingleberries','dirty pillows','dirty sanchez','doggie style','doggiestyle','doggy style','doggystyle','dog style','dolcett','domination','dominatrix','dommes','donkey punch','double dong','double penetration',
    'dp action','dry hump','dvda','eat my ass','ecchi','ejaculation','erotic','erotism','escort','eunuch','faggot','fecal','felch','fellatio','feltch','female squirting','femdom','figging','fingerbang','fingering','fisting',
    'foot fetish','footjob','frotting','fuck','fuck buttons','fuckin','fucking','fucktards','fudge packer','fudgepacker','futanari','gang bang','gay sex','genitals','giant cock','girl on','girl on top','girls gone wild',
    'goatcx','goatse','god damn','gokkun','golden shower','goodpoop','goo girl','goregasm','grope','group sex','g-spot','guro','hand job','handjob','hard core','hardcore','hentai','homoerotic','honkey','hooker','hot carl',
    'hot chick','how to kill','how to murder','huge fat','humping','incest','intercourse','jack off','jail bait','jailbait','jelly donut','jerk off','jigaboo','jiggaboo','jiggerboo','jizz','juggs','kike','kinbaku','kinkster',
    'kinky','knobbing','leather restraint','leather straight jacket','lemon party','lolita','lovemaking','make me come','male squirting','masturbate','menage a trois','milf','missionary position','motherfucker','mound of venus',
    'mr hands','muff diver','muffdiving','nambla','nawashi','negro','neonazi','nigga','nigger','nig nog','nimphomania','nipple','nipples','nsfw images','nude','nudity','nympho','nymphomania','octopussy','omorashi',
    'one cup two girls','one guy one jar','orgasm','orgy','paedophile','paki','panties','panty','pedobear','pedophile','pegging','penis','phone sex','piece of shit','pissing','piss pig','pisspig','playboy','pleasure chest',
    'pole smoker','ponyplay','poof','poon','poontang','punany','poop chute','poopchute','porn','porno','pornography','prince albert piercing','pthc','pubes','pussy','queaf','queef','quim','raghead','raging boner','rape',
    'raping','rapist','rectum','reverse cowgirl','rimjob','rimming','rosy Palm','rosy Palm and her 5 sisters','rusty trombone','sadism','santorum','scat','schlong','scissoring','semen','sex','sexo','sexy','shaved beaver',
    'shaved pussy','shemale','shibari','shit','shitblimp','shitty','shota','shrimping','skeet','slanteye','slut','s&m','smut','snatch','snowballing','sodomize','sodomy','spic','splooge','splooge moose','spooge','spread legs',
    'spunk','strap on','strapon','strappado','strip club','style doggy','suck','sucks','suicide girls','sultry women','swastika','swinger','tainted love','taste my','tea bagging','threesome','throating','tied up','tight white',
    'tit','tits','titties','titty','tongue in a','topless','tosser','towelhead','tranny','tribadism','tub girl','tubgirl','tushy','twat','Twink','twinkie','two girls one cup','undressing','upskirt','urethra play','urophilia',
    'vagina','venus mound','vibrator','Violet wand','vorarephilia','voyeur','vulva','wank','wetback','wet dream','white power','wrapping men','wrinkled starfish','xx','xxx','yaoi','yellow showers','yiffy','zoophilia'
  ];
  return listEN.indexOf(Word);
}

A expliqué

Lorsque la gâchette est déclenchée, il vérifie s'il y a quelque chose à vérifier. Si oui, il passera le Word (e.value) à la fonction listBadWords. S'il trouve un mot correspondant (ce qui signifie pas -1), le contenu de la cellule sera effacé, sinon il ne fera rien.

Insérez ce code dans l'éditeur de script de votre feuille de calcul (Outils> Editeur de SCript ...) et appuyez sur le bouton Enregistrer. Maintenant, le déclencheur onEdit est fonctionnel.

1
Jacob Jan Tuinstra