Події являються важливим елементом мови. Події — це свого роду сигнал браузера про те, що щось сталось. Їх використовують для виконання визначених частин програмного коду скрипта.
Найбільш часто використовувані події
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интаксис регулярних виразів являється достатньо складний, і його вивчення потребує серйозних зусиль.
На Zura-Blog розміщені матеріали які стосуються обєктно–орієнтованої мови скриптів JavaScript, які можна знайти в публікації “Що таке JavaScript як функціонує JavaScript” і в публікації “Як використовувати JavaScript, безпека JavaScript” перейшовши за посиланням нижче.
- Як використовувати JavaScript, сумістність JavaScript, безпека JavaScript
- Що таке JavaScript як функціонує JavaScript