Події являються важливим елементом мови. Події — це свого роду сигнал браузера про те, що щось сталось. Їх використовують для виконання визначених частин програмного коду скрипта.

Найбільш часто використовувані події

onLoad – відбувається після виконання скрипта або функції при завантаженні.

onChandge – відбувається при зміні значення елементу форми

onClick – стається після клацання над елементом, при виборі обєкта (button. checkbox і т.д.)

onSelect – при виборі текстового обєкта ( text, textarea)

onSubmit – відбувається при відправленні даних із форми на кнопку “Submit”

onUnload – подія відбувається при переході користувача на іншу сторінку.

Регулярні вирази

Регулярні вирази в JavaScript — обробка даних. Люба задача, яка повязана з заміною або пошуком тексту, вирішується з допомогою “мови в середині мови”. Регулярні вирази оперують не точними значеннями, а шаблонами. Шаблон (pattern) записується за допомогою мови регулярних виразів.

Любий регулярний вираз складається із розділювача, тіла шаблону і модифікаторів ( деколи їх називають переключатилями — switces).

/pattern/switch

Тут ”/” — це розділювач,

“pattern” — це тіло шаблона

“switch” — модифікатор

Модифікатор — призначений для “інструктурування” регулярного виразу.

i (ignore case) — не розрізняє строчні і прописні букви

g (global search) — глобальний пошук всіх входжень.

m (multiline) — багатострочний пошук

Любі комбінації цих трьох опцій, наприклад ig або gim

Метасимволи — спеціальні символи, які служать командами мови регулярних виразів.

СИМВОЛ                                   ОПИС
     \ Для символів які як за звичай трактуються буквально, означає що наступний символ являється спеціальним. Напрмклад, /n/ відповідає букві n, а /\n/ відповідає символу переводу рядка. Для символів, які як зазвичай трактуються як спеціальні, означає що символ повинен розумітись. Наприклад /^/ означає початок рядка, a/\^/ відповідає символу ^./\\/ відповідає обратной косой черте \ .
     ^  відповідає початку рядка
     $ відповідає кінцю ряфдка
     * відповідає повторенню попереднього символа нуль або більше чим раз
     + відповідає повторенню попереднього символа один або більше чим раз
      ? відповідає повторенню попереднього символа нуль або один раз
      . відповідає любому символу, крім символа нового рядка
(pattern) відповідає рядку pattern і запамятовує найдену відповідність
(?:pattern) відповідає рядку pattern, але не запамятовує найдену відповідність. Використовує для груповання частину зразака, наприклад /кіт|кішка/.
  [^a-z]         відповідає любому символу, крім тих які лежать в указаному діапазоні
(?=pattern) Відповідність з “заглядуванням вперед” стається при відповідності рядка pattern без запамятовування найденої відповідності. Наприклад /Windows(?=95|98|NT|2000)/ відповідає “Windows” в рядку “Windows98” але не відповідає в рядку “Windows 3.1” Після співставлення пошук продовжується з позиції, наступний за найденою відповідністю, без врахування заглядування наперед
(?!pattern) Відповідність з “заглядуванням вперед” стається при невідповідності рядка pattern без запамятовування найденої відповідності. Наприклад /Windows(?=95|98|NT|2000)/ відповідає “Windows” в рядку “Windows98” але не відповідає в рядку “Windows 3.1” Після співставлення пошук продовжується з позиції, наступний за найденою відповідністю, без врахування заглядування наперед
    x|y відповідає х або у
    {n} n–неотрицательное число. Відповідає рівно n входженням попереднього символу
    {n,} n  – неотрицательное число. Відповідає n або більшим входженням попереднього символу. /x+/./x{0,1}/ еквівалентно /x*/.
   {n,m} n і m – неотрицательное число. Відповідає не меншим чим n і не більшим чим m входженням попереднього символу./x{0,1}/ еквівалентно /x?/.
    [xyz] відповідає любому символу із закладених в квадратні дужки
   [^xyz] відповідає любому символу крім закладених в квадратні дужки
    [a-z] відповідає любому символу в указаному діапазоні
      \b                 відповідає границі слова, позиції між словом і пробілом або переводом рядка
      \B відповідає любій позиції, крім границі слова
      \cX відповідає символу Ctrl+X Наприклад /\ci/еквівалентно /\t/.
      \d відповідає цифрі Єквівалентно [0 — 9]
      \D відповідає нецифровому символу. Єквівалентно [^0 — 9]
      \f відповідає символу переводу формата (FF)
       \n відповідає символу переводу рядка (lf)
       \r відповідає символу каретки (CR)
      \s відповідає символу пробіла. Еквівалентно /[\f\n\r\t\v]/. 
      \S відповідає любому не з пробілом символу. Еквівалентно /[\f\n\r\t\v]/. 

 

 

\t   відповідає символу табуляції (НТ)
\v відповідає символу вертикальної табуляції (VТ)
\w відповідає латинський букві, цифрі або підкреслюванню  Еквівалентно [^A-Za-z0-9_]/.
\W відповідає любому символу, крім латинської букви, цифрі або підкреслюванню  Еквівалентно [^A-Za-z0-9_]/.
\n n – положительное число. відповідає n– ної запамятовуваному підрядку. Вичисляється шляхом підрахунку лівих круглих дужок. Якщо лівих дужок для цього символа меньше, чим n, то еквівалентно \0n.
\On  n – восьмиричне число, не більше 377. Відповідає символу з восьмиричним кодом  n Наприклад /\011/еквівалентно/\t/.
\xn  n – шістнадцятиричне число, складається з двох цифр. Відповідає символу з шістнадцятирічним кодом n Наприклад /\x31/еквівалентно/1/. 
\un  n – шістнадцятиричне число, складається з чотирьох цифр. Відповідає символу Unicode з шістнадцятирічним кодом n Наприклад /\u00a9/еквівалентно/@/. 

 

 


 

 

Cинтаксис регулярних виразів  являється достатньо складний, і його вивчення потребує серйозних зусиль. 

user_97

На Zura-Blog розміщені матеріали які стосуються обєктно–орієнтованої мови скриптів JavaScript, які можна знайти в публікації “Що таке   JavaScript як функціонує  JavaScript” і в публікації “Як використовувати JavaScript, безпека JavaScript”  перейшовши за посиланням нижче.