У Ñимволов каÑеÑки ^ и доллаÑа $ еÑÑÑ ÑпеÑиалÑнÑе знаÑÐµÐ½Ð¸Ñ Ð² ÑегÑлÑÑнÑÑ
вÑÑажениÑÑ
. Ðни назÑваÑÑÑÑ Â«ÑкоÑÑ» (anchors).
ÐаÑеÑка ^ ознаÑÐ°ÐµÑ Ñовпадение Ñ Ð½Ð°Ñалом ÑекÑÑа, а Ð´Ð¾Ð»Ð»Ð°Ñ $ â Ñ ÐºÐ¾Ð½Ñом.
РпÑимеÑÑ, давайÑе пÑовеÑим наÑинаеÑÑÑ Ð»Ð¸ ÑекÑÑ Ñ Mary:
let str1 = "Mary had a little lamb";
alert( /^Mary/.test(str1) ); // true
Шаблон ^Mary ознаÑаеÑ: «наÑало ÑÑÑоки, заÑем Mary».
ÐналогиÑно можно пÑовеÑиÑÑ, конÑаеÑÑÑ Ð»Ð¸ ÑÑÑока Ñловом snow пÑи помоÑи snow$:
let str1 = "it's fleece was white as snow";
alert( /snow$/.test(str1) ); // true
РконкÑеÑно ÑÑиÑ
ÑлÑÑаÑÑ
Ð¼Ñ Ð¼Ð¾Ð³Ð»Ð¸ Ð±Ñ Ð¸ÑполÑзоваÑÑ Ð¸ меÑÐ¾Ð´Ñ ÑÑÑок startsWith/endsWith. РегÑлÑÑнÑе вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑледÑÐµÑ Ð¿ÑименÑÑÑ, когда нÑжна пÑовеÑка Ñложнее.
ÐÑовеÑка на полное Ñовпадение
Ðба ÑкоÑÑ Ð²Ð¼ÐµÑÑе ^...$ ÑаÑÑо иÑполÑзÑÑÑÑÑ Ð´Ð»Ñ Ð¿ÑовеÑки, ÑÐ¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ Ð»Ð¸ ÑÑÑока Ñ Ñаблоном полноÑÑÑÑ. ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑеделиÑÑ, в пÑавилÑном ли ÑоÑмаÑе полÑзоваÑÐµÐ»Ñ Ð²Ð²Ñл даннÑе.
ÐÑовеÑим, ÑÑо ÑÑÑока ÑвлÑеÑÑÑ Ð²Ñеменем в ÑоÑмаÑе 12:34, Ñо еÑÑÑ Ð´Ð²Ðµ ÑиÑÑÑ, заÑем двоеÑоÑие, заÑем еÑÑ Ð´Ð²Ðµ ÑиÑÑÑ.
Ðа ÑзÑке ÑегÑлÑÑнÑÑ
вÑÑажений ÑÑо \d\d:\d\d:
let goodInput = "12:34";
let badInput = "12:345";
let regexp = /^\d\d:\d\d$/;
alert( regexp.test(goodInput) ); // true
alert( regexp.test(badInput) ); // false
ÐдеÑÑ Ñовпадение Ñ \d\d:\d\d иÑеÑÑÑ Ð½Ðµ где-Ñо поÑеÑедине ÑекÑÑа, а ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле наÑала ÑÑÑоки ^, и поÑле него должен бÑÑÑ ÑÑÐ°Ð·Ñ ÐºÐ¾Ð½ÐµÑ ÑÑÑоки $.
То еÑÑÑ, вÑÑ ÑÑÑока â ÑÑо как Ñаз вÑÐµÐ¼Ñ Ð² нÑжном нам ÑоÑмаÑе.
Ðоведение ÑкоÑей менÑеÑÑÑ, еÑли пÑиÑÑÑÑÑвÑÐµÑ Ñлаг m. ÐÑ ÑаÑÑмоÑÑим ÑÑÐ¾Ñ Ñлаг в ÑледÑÑÑей ÑÑаÑÑе.
ЯкоÑÑ ^ и $ â ÑÑо пÑовеÑки. У ниÑ
нÑÐ»ÐµÐ²Ð°Ñ ÑиÑина.
ÐÑÑгими Ñловами, они не добавлÑÑÑ Ðº ÑезÑлÑÑаÑÑ Ð¿Ð¾Ð¸Ñка ÑимволÑ, а ÑолÑко заÑÑавлÑÑÑ Ð´Ð²Ð¸Ð¶Ð¾Ðº ÑегÑлÑÑнÑÑ Ð²ÑÑажений пÑовеÑÑÑÑ ÑÑловие (наÑало/ÐºÐ¾Ð½ÐµÑ ÑекÑÑа).
ÐомменÑаÑии
<code>, Ð´Ð»Ñ Ð½ÐµÑколÑÐºÐ¸Ñ ÑÑÑок кода — Ñег<pre>, еÑли болÑÑе 10 ÑÑÑок — ÑÑÑÐ»ÐºÑ Ð½Ð° пеÑоÑниÑÑ (plnkr, JSBin, codepenâ¦)