Blog'a Dön

Buğra Şıkel

Javascript ile Küfür Ayıklama Fonksiyonu

javascript küfür engelleme

Merhabalar, daha önceki yazımda php ile küfür engelleme fonksiyonu yazmıştık, bu yazımda ise aynı işlevi javascript ile yapacağız. Yazacağımız fonksiyon javascript ile girilen metni kontrol edecek ve hakaret içerip içermediğini geri döndürecektir. Bu sayede anlık olarak herhangi bir istek atmamıza gerek kalmadan kullanıcı taraflı bir kontrol de sağlamış oluruz. İhtiyaçlarımıza göre kullanım şekilleri değişebilir.

Gelelim fonksiyonumuza:

function checkInsult(string) {
        let blacklist;
        fetch('https://raw.githubusercontent.com/ooguz/turkce-kufur-karaliste/master/karaliste.json') // kara listemizi buradan edinebiliriz. Ya da siz kendiniz bir json karaliste oluşturabilirsiniz.
            .then(res => res.json())
            .then(data => {
                blacklist = data;
                if (blacklist.length === 0) {
                    console.log('Blacklist is empty');
                    return;
                }
                if (typeof string !== 'string') {
                    console.log('Input must be a string');
                    return;
                }
                let words = blacklist.map(word => word.toLowerCase());
                let search = ['.','-',',','*','>','<','_',')','(','&','%','+','!','/','=','?','|'];
                let str = Array.from(new Set(string.trim().replace(/\s+/g, ' ').replace(search, ' ').split(' ')));
                let strLower = [];
                for (let s of str) {
                    strLower.push(s.toLowerCase());
                }
                for (let word of words) {
                    if (strLower.includes(word)) {
                        console.log('Hakaret içeriyor.');
                        return;
                    }
                }
                console.log('Hakaret içermiyor.');
                return;
            })
            .catch(error => console.log(error));
    }

Yazdığımız kodun örneğini göstermek amacıyla küçük bir demo hazırladım.

See the Pen
Javascript ile küfür engelleme fonksiyonu
by Buğra (@bugraskl)
on CodePen.

Fonksiyonumuzun açıklamasını yapacak olursak eğer, fonksiyon, öncelikle bir “blacklist” adlı bir değişken oluşturur ve daha sonra bir web adresinden bir JSON veri dosyasını çekmek için “fetch” metodunu kullanır. Bu veri dosyası, Türkçe dilinde hakaret içeren kelimelerin bir listesini içerir.

Daha sonra, eğer blacklist dizisi boşsa, konsola “Blacklist is empty” yazdırılır ve fonksiyon durdurulur. Eğer girilen değer bir string değilse, konsola “Input must be a string” yazdırılır ve fonksiyon durdurulur.

Sonrasında, blacklistteki kelimeler, küçük harfe dönüştürülür ve metin içindeki boşluklar ve noktalama işaretleri silinir. Girilen metnin kelimeleri, küçük harfe dönüştürülür ve blacklistteki kelimeler arasında arama yapılır. Eğer metin içinde bir hakaret kelimesi bulunursa, konsola “Hakaret içeriyor.” yazdırılır ve fonksiyon durdurulur. Eğer metin içinde hakaret kelimesi bulunmazsa, konsola “Hakaret içermiyor.” yazdırılır ve fonksiyon durdurulur.

Bu ve benzeri önemli ipuçlarını öğrenmek için diğer yazılarıma da göz atabilirsiniz.

Web sitesine mi ihtiyacınız var ?

Bunları da beğenebilirsiniz

Kurumsal Refactoring İçin Depo Seviyesinde AI Ajanları: İnsan-Döngüde (Human-in-the-Loop) Geri Bildirim Mekanizmaları Tasarlamak

Kurumsal yazılım projelerinde teknik borcu azaltmak için depo seviyesinde otonom ajanların nasıl tasarlanacağını ve insan denetimiyle güvenli refactoring süreçlerinin nasıl işletileceğini inceleyin.

Devamını Oku

Bir Web Siteye Sahip Olmanız İçin 10 Neden

Pazarda rekabet etmek istiyorsanız, çevrimiçi bir varlığa ve daha da önemlisi size uygun olarak tasarlanmış bir web sitesine sahip olmalısınız. Belki 10 yıl önce alaka…

Devamını Oku

ESP32 Sensör Ağları İçin Dayanıklı Olay İletimi: Ev Sunucusu Entegrasyonunda Hata Toleransı ve Durum Tutarlılığı

ESP32 tabanlı sensör ağlarında olay iletiminin güvenilirliğini artırmak, ev sunucusu entegrasyonunda hata toleransı ve durum tutarlılığı sağlamak için sağlam mimarileri keşfedin. Bu yazı, veri bütünlüğünü korurken kesintilere karşı dayanıklı sistemler oluşturmanın yollarını sunar.

Devamını Oku