Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Wykrywanie unikalnych znaków

poniedziałek,

Wykrywanie unikalnych znaków

Opisywany mechanizm może być przydatny podczas szacowania siły wprowadzonego hasła.

Kod HTML

<div id="tester">
<label>Wprowadź tekst: <input type="text"></label>
<div style="width: 0; height: 10px;"></div>
</div>

Kod JavaScript

Koncepcja przedstawionego skryptu jest prosta. Po wprowadzeniu kolejnego znaku uruchamiana jest funkcja, w której wprowadzony w pole tekst jest zapisywany w zmiennej o nazwie s. Druga zmienna (u) na początku jest „pusta”. W pętli unikalne znaki dodawane są do zmiennej u, przy każdym znaku wprowadzonym do pola input (kolejnym kroku pętli) następuje weryfikacja, czy nie został on już dodany do zmiennej u, jeśli nie, zostaje dołączony do łańcucha w zmiennej u. Mechanizm weryfikacji zrealizowano przy pomocy metody indexOf(). Jest ona typowa dla tablic, ale można użyć jej także z łańcuchami znaków. Metoda indexOf() szuka przekazanego argumentem znaku, jeśli próba się nie powiedzie, zwraca -1.

W celu wyświetlenia wyniku działania skryptu uzyskany łańcuch unikalnych znaków zostaje podzielony na pojedyncze składniki (split()), aby można je był objąć cudzysłowami (wśród wyników może być np. spacja), co zrealizowano za pomocą metody join() i dołączenia odpowiednich znaków na początku i końcu wygenerowanego łańcucha.

document.querySelector('#tester input').addEventListener('keyup', function() {
  var u = '';
  var s = this.value;
  for(i=0;i<s.length;i++) {
    if(u.indexOf(s[i])==-1) u += s[i];
  }
  document.querySelector('#tester div').innerHTML = 'Unikalne znaki: ' + '"' + (u.split('').join('", "')) + '"';
})
Artykuł: Konkurs z Języka Angielskiego Zawodowego

Konkurs z Języka Angielskiego Zawodowego

Artykuł: Testujemy kontroler ARGB

Testujemy kontroler ARGB

Artykuł: Olimpiada Zdrowia PCK

Olimpiada Zdrowia PCK

Artykuł: Zostań dawcą szpiku!

Zostań dawcą szpiku!

Artykuł: Przeglądarka Vivaldi

Przeglądarka Vivaldi

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły