Quando sviluppiamo un'applicazione web dove l'utente può inserire dei commenti, spesso abbiamo l'esigenza di moderare i commenti evitando l'inserimento di parole offensive o blasfeme o altro ancora. Ovviamente quest'operazione deve essere fatta lato server, ma è comunque meglio evitare già dal client che l'utente possa inserire certe parole.
Per verificare che l'utente non inserisca certe parole possiamo usare il metodo Intersect della libreria JSLINQ come nel seguente esempio:
var wordsToFind = ["parola1", "parola2", "parola3"]; var words = textToAnalyze.split(" "); var count = JSLINQ(words) .Intersect(wordsToFind, function(item, index, item2, index2){ return item.toLowerCase() == item2.toLowerCase(); }) .Count();
Il metodo Intersect accetta in input l'elemento corrente della lista di parole da analizzare e il suo indice, l'elemento corrente della lista di parole da cercare e il suo indice e se le parole corrispondono le mette in un array temporaneo che viene restituito quando il metodo termina la sua esecuzione. A questo punto basta usare il metodo Count per verificare che ci sia nel testo da analizzare almeno una parola di quelle ricercate.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Usare le variabili per personalizzare gli stili CSS
Ottenere il contenuto di una cartella FTP con la libreria FluentFTP
.NET Conference Italia 2023
Eseguire operazioni con timeout in React
Utilizzare la session affinity con Azure Container Apps
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Verificare la provenienza di un commit tramite le GitHub Actions
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Potenziare Azure AI Search con la ricerca vettoriale
Utilizzare database e servizi con gli add-on di Container App
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Usare una container image come runner di GitHub Actions