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
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
Utilizzare database e servizi con gli add-on di Container App
Utilizzare Tailwind CSS all'interno di React: primi componenti
Generare file PDF da Blazor WebAssembly con iText
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Inizializzare i container in Azure Container Apps
Utilizzare il trigger SQL con le Azure Function
Load test di ASP.NET Core con k6
Utilizzare la session affinity con Azure Container Apps
Semplificare il deployment di siti statici con Azure Static Web App
Disabilitare automaticamente un workflow di GitHub (parte 2)
Modificare i metadati nell'head dell'HTML di una Blazor Web App
I più letti di oggi
- Cambiare la chiave di partizionamento di Azure Cosmos DB
- ASP.NET 2.0 per tutti
- Definire stili a livello di libreria in Angular
- Utilizzare il trigger SQL con le Azure Function
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- .NET Conference Italia 2023 - Milano e Online
- Come EF 8 ha ottimizzato le query che usano il metodo Contains
- Ottimizzazione dei block template in Angular 17