dizgesine dahil edilip edilmediğini kontrol edin Bazı iletişim türleri için bazı istemci tarafında doğrulama üzerinde çalışıyorum, web sitesi şu anda çevrimiçi değil, sunucu tarafı uygun değil.Dizi değeri
Form gönderilmeden önce müstehcen herhangi bir küfürden haberdar olmak için bir 'sözcük filtresi' oluşturmaya çalışıyorum. kullanıcının kelime1 'girmek için olsaydı ayıp olmadan İşte kod
...
function filterInput(str) {
var inputFilter = ['word1', 'word2', 'word3'];
var arrayLength = inputFilter.length;
if (inputFilter.indexOf(str) > - 1) {
// Word caught...
} else {
// Clear...
}
, bu kelimeyi yakalayacak. Kullanıcı 'word1word2' veya 'John bir word3' girerse, onu yakalamaz.
Aslında daha iyi çalıştıran bir for döngüsü vardı, ancak yine de kelimeler ('word1word2') arasındaki boşluk olmadan çalışmayacaktım.
Herhangi bir girdi büyük bir memnuniyetle karşılanacaktır, arama yapıyorum ama hiçbir şey ihtiyaçlarımla eşleşmiyor.
EDIT: Öyleyse ben de bir çözüm buldum, ancak bunun başarılabileceğinin farklı yollarını görmek, nasıl çalıştığına ve belirli bir yolun neden daha iyi olduğuna merak ediyorum. Ben ile geldi İşte neyi
...
function filterInput(str) {
var inputFilter = ['word1', 'word2', 'word3'];
var arrayLength = inputFilter.length;
for (var i = 0; i < arrayLength; i++) {
if (str.includes(inputFilter[i])) {
window.alert('Message...');
return;
}
}
}
Ben Sadece başlıyor, bu yüzden şimdilik ES2015 + 'dan kaçınacağımı düşünüyorum. Bazılarına gelince, neyle karşılaştığımla karşılaştırıldığında nasıl çalışır? – mrkd1991
@ mrkd1991: Orada "nasıl çalışıyor" ile kastettiğinizden emin değilsiniz. Performansı kastediyorsanız, JavaScript motorları ** çok ** işlev çağrılarında hızlıdır. İşte bu yazımda 2012'de yaptığım bir yazı; Hatta IE6, isteyebileceğiniz en yavaş JavaScript motoru, bu kadar hızlı yaptılar bir faktör değildi: http://blog.niftysnippets.org/2012/02/foreach-and-runtime-cost.html –
Olduğu gibi, bu işlev istenen sonucu elde etmek için ne yapar ve bu ve yeni denemem arasındaki fark nedir? – mrkd1991