Javascript.RU

Регулярные выражения

Update: Более новый материал по этой теме находится по адресу https://learn.javascript.ru/regular-expressions-javascript.

Регулярные выражения в javascript имеют особую краткую форму и стандартный PCRE-синтаксис.

Работают они через специальный объект RegExp.

Кроме того, у строк есть свои методы search,match,replace, но чтобы их понять - разберем-таки сначала RegExp.

Объект типа RegExp, или, короче, регулярное выражение, можно создать двумя путями

/pattern/флаги
new RegExp("pattern"[, флаги])

pattern - регулярное выражение для поиска (о замене - позже), а флаги - строка из любой комбинации символов g(глобальный поиск), i(регистр неважен) и m(многострочный поиск).

Первый способ используется часто, второй - иногда. Например, два таких вызова эквивалентны:

var reg = /ab+c/i
var reg = new RegExp("ab+c", "i")

При втором вызове - т.к регулярное выражение в кавычках, то нужно дублировать \

// эквивалентны
re = new RegExp("\\w+")
re = /\w+/

При поиске можно использовать большинство возможностей современного PCRE-синтаксиса.

Свернуть/Развернуть таблицу

Символ Значение
\ Для обычных символов - делает их специальными. Например, выражение /s/ ищет просто символ 's'. А если поставить \ перед s, то /\s/ уже обозначает пробельный символ.И наоборот, если символ специальный, например *, то \ сделает его просто обычным символом "звездочка". Например, /a*/ ищет 0 или больше подряд идущих символов 'a'. Чтобы найти а со звездочкой 'a*' - поставим \ перед спец. символом: /a\*/.
^ Обозначает начало входных данных. Если установлен флаг многострочного поиска ("m"), то также сработает при начале новой строки.Например, /^A/ не найдет 'A' в "an A", но найдет первое 'A' в "An A."
$ Обозначает конец входных данных. Если установлен флаг многострочного поиска, то также сработает в конце строки.Например, /t$/ не найдет 't' в "eater", но найдет - в "eat".
* Обозначает повторение 0 или более раз. Например, /bo*/ найдет 'boooo' в "A ghost booooed" и 'b' в "A bird warbled", но ничего не найдет в "A goat grunted".
+ Обозначает повторение 1 или более раз. Эквивалентно {1,}. Например, /a+/ найдет 'a' в "candy" и все 'a' в "caaaaaaandy".
? Обозначает, что элемент может как присутствовать, так и отсутствовать. Например, /e?le?/ найдет 'el' в "angel" и 'le' в "angle."Если используется сразу после одного из квантификаторов *, +, ?, или {}, то задает "нежадный" поиск (повторение минимально возможное количество раз, до ближайшего следующего элемента паттерна), в противоположность "жадному" режиму по умолчанию, при котором количество повторений максимально, даже если следующий элемент паттерна тоже подходит.Кроме того, ? используется в предпросмотре, который описан в таблице под (?=), (?!), и (?: ).
. (Десятичная точка) обозначает любой символ, кроме перевода строки: \n \r \u2028 or \u2029. (можно использовать [\s\S] для поиска любого символа, включая переводы строк). Например, /.n/ найдет 'an' и 'on' в "nay, an apple is on the tree", но не 'nay'.
(x) Находит x и запоминает. Это называется "запоминающие скобки". Например, /(foo)/ найдет и запомнит 'foo' в "foo bar." Найденная подстрока хранится в массиве-результате поиска или в предопределенных свойствах объекта RegExp: $1, ..., $9.Кроме того, скобки объединяют то, что в них находится, в единый элемент паттерна. Например, (abc)* - повторение abc 0 и более раз.
(?:x) Находит x, но не запоминает найденное. Это называется "незапоминающие скобки". Найденная подстрока не сохраняется в массиве результатов и свойствах RegExp.Как и все скобки, объединяют находящееся в них в единый подпаттерн.
x(?=y) Находит x, только если за x следует y. Например, /Jack(?=Sprat)/ найдет 'Jack', только если за ним следует 'Sprat'. /Jack(?=Sprat|Frost)/ найдет 'Jack', только если за ним следует 'Sprat' или 'Frost'. Однако, ни 'Sprat' ни 'Frost' не войдут в результат поиска.
x(?!y) Находит x, только если за x не следует y. Например, /\d+(?!\.)/ найдет число, только если за ним не следует десятичная точка. /\d+(?!\.)/.exec("3.141") найдет 141, но не 3.141.
x|y Находит x или y. Например, /green|red/ найдет 'green' в "green apple" и 'red' в "red apple."
{n} Где n - положительное целое число. Находит ровно n повторений предшествующего элемента. Например, /a{2}/ не найдет 'a' в "candy," но найдет оба a в "caandy," и первые два a в "caaandy."
{n,} Где n - положительное целое число. Находит n и более повторений элемента. Например, /a{2,} не найдет 'a' в "candy", но найдет все 'a' в "caandy" и в "caaaaaaandy."
{n,m} Где n и m - положительные целые числа. Находят от n до m повторений элемента.
[xyz] Набор символов. Находит любой из перечисленных символов. Вы можете указать промежуток, используя тире. Например, [abcd] - то же самое, что [a-d]. Найдет 'b' в "brisket", а также 'a' и 'c' в "ache".
[^xyz] Любой символ, кроме указанных в наборе. Вы также можете указать промежуток. Например, [^abc] - то же самое, что [^a-c]. Найдет 'r' в "brisket" и 'h' в "chop."
[\b] Находит символ backspace. (Не путать с \b.)
\b Находит границу слов (латинских), например пробел. (Не путать с [\b]). Например, /\bn\w/ найдет 'no' в "noonday"; /\wy\b/ найдет 'ly' в "possibly yesterday."
\B Обозначает не границу слов. Например, /\w\Bn/ найдет 'on' в "noonday", а /y\B\w/ найдет 'ye' в "possibly yesterday."
\cX Где X - буква от A до Z. Обозначает контрольный символ в строке. Например, /\cM/ обозначает символ Ctrl-M.
\d находит цифру из любого алфавита (у нас же юникод). Испльзуйте [0-9], чтобы найти только обычные цифры. Например, /\d/ или /[0-9]/ найдет '2' в "B2 is the suite number."
\D Найдет нецифровой символ (все алфавиты). [^0-9] - эквивалент для обычных цифр. Например, /\D/ или /[^0-9]/ найдет 'B' в "B2 is the suite number."
\f,\r,\n Соответствующие спецсимволы form-feed, line-feed, перевод строки.
\s Найдет любой пробельный символ, включая пробел, табуляцию, переводы строки и другие юникодные пробельные символы. Например, /\s\w*/ найдет ' bar' в "foo bar."
\S Найдет любой символ, кроме пробельного. Например, /\S\w*/ найдет 'foo' в "foo bar."
\t Символ табуляции.
\v Символ вертикальной табуляции.
\w Найдет любой словесный (латинский алфавит) символ, включая буквы, цифры и знак подчеркивания. Эквивалентно [A-Za-z0-9_]. Например, /\w/ найдет 'a' в "apple," '5' в "$5.28," и '3' в "3D."
\W Найдет любой не-(лат.)словесный символ. Эквивалентно [^A-Za-z0-9_]. Например, /\W/ и /[^$A-Za-z0-9_]/ одинаково найдут '%' в "50%."
\n где n - целое число. Обратная ссылка на n-ю запомненную скобками подстроку. Например, /apple(,)\sorange\1/ найдет 'apple, orange,' в "apple, orange, cherry, peach.". За таблицей есть более полный пример.
\0 Найдет символ NUL. Не добавляйте в конец другие цифры.
\xhh Найдет символ с кодом hh (2 шестнадцатиричных цифры)
\uhhhh Найдет символ с кодом hhhh (4 шестнадцатиричных цифры).

Чтобы просто проверить, подходит ли строка под регулярное выражение, используется метод test:

if ( /\s/.test("строка") ) {
...В строке есть пробелы!...
}

Метод test начинает поиск, начиная со свойства lastIndex объекта RegExp, если оно установлено.

Метод exec возвращает массив и ставит свойства регулярного выражения.
Если совпадений нет, то возвращается null.

Например,

// Найти одну d, за которой следует 1 или более b, за которыми одна d
// Запомнить найденные b и следующую за ними d
// Регистронезависимый поиск
var myRe = /d(b+)(d)/ig;
var myArray = myRe.exec("cdbBdbsbz");

В результате выполнения скрипта будут такие результаты:

Объект Свойство/Индекс Описания Пример
myArray Содержимое myArray. ["dbBd", "bB", "d"]
index Индекс совпадения (от 0) 1
input Исходная строка. cdbBdbsbz
[0] Последние совпавшие символы dbBd
[1], ...[n] Совпадения во вложенных скобках, если есть. Число вложенных скобок не ограничено. [1] = bB
[2] = d
myRe lastIndex Индекс, с которого начинать следующий поиск. 5
ignoreCase Показывает, что был включен регистронезависимый поиск, флаг "i". true
global Показывает, что был включен флаг "g" поиска всех совпадений. true
multiline Показывает, был ли включен флаг многострочного поиска "m". false
source Текст паттерна. d(b+)(d)

Если в регулярном выражении включен флаг "g", Вы можете вызывать метод exec много раз для поиска последовательных совпадений в той же строке. Когда Вы это делаете, поиск начинается на подстроке str, с индекса lastIndex. Например, вот такой скрипт:

var myRe = /ab*/g;
var str = "abbcdefabh";
while ((myArray = myRe.exec(str)) != null) {
	var msg = "Found " + myArray[0] + ".  ";
	msg += "Next match starts at " + myRe.lastIndex;
	print(msg);
}

Этот скрипт выведет следующий текст:

Found abb. Next match starts at 3
Found ab. Next match starts at 9

В следующем примере функция выполняет поиск по input. Затем делается цикл по массиву, чтобы посмотреть, есть ли другие имена.

Предполагается, что все зарегистрированные имена находятся в массиве А:

var A = ["Frank", "Emily", "Jane", "Harry", "Nick", "Beth", "Rick",
         "Terrence", "Carol", "Ann", "Terry", "Frank", "Alice", "Rick",
         "Bill", "Tom", "Fiona", "Jane", "William", "Joan", "Beth"];

function lookup(input)
{
  var firstName = /\w+/i.exec(input);
  if (!firstName)
  {
    print(input + " isn't a name!");
    return;
  }

  var count = 0;
  for (var i = 0; i < A.length; i++)
  {
    if (firstName[0].toLowerCase() == A[i].toLowerCase())
      count++;
  }
  var midstring = (count == 1) ? " other has " : " others have ";
  print("Thanks, " + count + midstring + "the same name!")
}

Следующие методы работают с регулярными выражениями из строк.

Все методы, кроме replace, можно вызывать как с объектами типа regexp в аргументах, так и со строками, которые автоматом преобразуются в объекты RegExp.

Так что вызовы эквивалентны:

var i = str.search(/\s/)
var i = str.search("\\s")

При использовании кавычек нужно дублировать \ и нет возможности указать флаги. Если регулярное выражение уже задано строкой, то бывает удобна и полная форма

var regText = "\\s"
var i = str.search(new RegExp(regText, "g"))

Возвращает индекс регулярного выражения в строке, или -1.

Если Вы хотите знать, подходит ли строка под регулярное выражение, используйте метод search(аналогично RegExp-методы test). Чтобы получить больше информации, используйте более медленный метод match(аналогичный методу RegExp exec).

Этот пример выводит сообщение, в зависимости от того, подходит ли строка под регулярное выражение.

function testinput(re, str){
   if (str.search(re) != -1)
      midstring = " contains ";
   else
      midstring = " does not contain ";
   document.write (str + midstring + re.source);
}

Если в regexp нет флага g, то возвращает тот же результат, что regexp.exec(string).

Если в regexp есть флаг g, то возвращает массив со всеми совпадениями.

Чтобы просто узнать, подходит ли строка под регулярное выражение regexp, используйте regexp.test(string).

Если Вы хотите получить первый результат - попробуйте regexp.exec(string).

В следующем примере match используется, чтобы найти "Chapter", за которой следует 1 или более цифр, а затем цифры, разделенные точкой. В регулярном выражении есть флаг i, так что регистр будет игнорироваться.

str = "For more information, see Chapter 3.4.5.1";
re = /chapter (\d+(\.\d)*)/i;
found = str.match(re);
alert(found);

Скрипт выдаст массив из совпадений:

  • Chapter 3.4.5.1 - полностью совпавшая строка
  • 3.4.5.1 - первая скобка
  • .1 - внутренняя скобка

Следующий пример демонстрирует использование флагов глобального и регистронезависимого поиска с match. Будут найдены все буквы от А до Е и от а до е, каждая - в отдельном элементе массива.

var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[A-E]/gi;
var matches = str.match(regexp);
document.write(matches);

// matches = ['A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e']

Метод replace может заменять вхождения регулярного выражения не только на строку, но и на результат выполнения функции. Его полный синтаксис - такой:

var newString = str.replace(regexp/substr, newSubStr/function)
regexp
Объект RegExp. Его вхождения будут заменены на значение, которое вернет параметр номер 2
substr
Строка, которая будет заменена на newSubStr.
newSubStr
Строка, которая заменяет подстроку из аргумента номер 1.
function
Функция, которая может быть вызвана для генерации новой подстроки (чтобы подставить ее вместо подстроки, полученной из аргумента 1).

Метод replace не меняет строку, на которой вызван, а просто возвращает новую, измененную строку.

Чтобы осуществить глобальную замену, включите в регулярное выражение флаг "g".

Если первый аргумент - строка, то она не преобразуется в регулярное выражение, так что, например,

var ab = "a b".replace("\\s","..") // = "a b"

Вызов replace оставил строку без изменения, т.к искал не регулярное выражение \s, а строку "\s".

В строке замены могут быть такие спецсимволы:

Pattern Inserts
$$ Вставляет "$".
$& Вставляет найденную подстроку.
$` Вставляет часть строки, которая предшествует найденному вхождению.
$' Вставляет часть строки, которая идет после найденного вхождения.
$n or $nn Где n или nn - десятичные цифры, вставляет подстроку вхождения, запомненную n-й вложенной скобкой, если первый аргумент - объект RegExp.

Если Вы указываете вторым параметром функцию, то она выполняется при каждом совпадении.

В функции можно динамически генерировать и возвращать строку подстановки.

Первый параметр функции - найденная подстрока. Если первым аргументом replace является объект RegExp, то следующие n параметров содержат совпадения из вложенных скобок. Последние два параметра - позиция в строке, на которой произошло совпадение и сама строка.

Например, следующий вызов replace возвратит XXzzzz - XX , zzzz.

function replacer(str, p1, p2, offset, s)
{
return str + " - " + p1 + " , " + p2;
}
var newString = "XXzzzz".replace(/(X*)(z*)/, replacer)

Как видите, тут две скобки в регулярном выражении, и потому в функции два параметра p1, p2.
Если бы были три скобки, то в функцию пришлось бы добавить параметр p3.

Следующая функция заменяет слова типа borderTop на border-top:

function styleHyphenFormat(propertyName)
{
  function upperToHyphenLower(match)
  {
    return '-' + match.toLowerCase();
  }
  return propertyName.replace(/[A-Z]/, upperToHyphenLower);
}

В некоторых реализациях javascript регэкспы, заданные коротким синтаксисом /.../ - статичны. То есть, такой объект создается один раз в некоторых реализациях JS, например в Firefox. В Chrome все ок.

function f() {
  // при многократных заходах в функцию объект один и тот же
  var re = /lalala/     
}

По стандарту эта возможность разрешена ES3, но запрещена ES5.

Из-за того, что lastIndex при глобальном поиске меняется, а сам объект регэкспа статичен, первый поиск увеличивает lastIndex, а последующие - продолжают искать со старого lastIndex, т.е. могут возвращать не все результаты.

При поиске всех совпадений в цикле проблем не возникает, т.к. последняя итерация (неудачная) обнуляет lastIndex.

Для общего понимания регулярных выражений можно почитать Статью в wikipedia.

Более подробно они описаны в книге (англ.) Beginning Regular Expressions.


Автор: Ramon Akers (не зарегистрирован), дата: 2 марта, 2021 - 20:08
#permalink

Автор: Гостьsad (не зарегистрирован), дата: 2 марта, 2021 - 20:12
#permalink

This was a really great contest and hopefully I can attend the next one. It was alot of fun and I really enjoyed myself..
best place to eat in cozumel


Автор: sds (не зарегистрирован), дата: 3 марта, 2021 - 10:56
#permalink

I am hoping the same best effort from you in the future as well. In fact your creative writing skills has inspired me.
best place to eat in cozumel


Автор: davitrans (не зарегистрирован), дата: 11 марта, 2021 - 09:55
#permalink

Positive site, where did u come up with the information on this posting? I'm pleased I discovered it though, ill be checking back soon to find out what additional posts you include. Chuyển hàng Trung Quốc


Автор: davitrans (не зарегистрирован), дата: 11 марта, 2021 - 09:59
#permalink

Positive site, where did u come up with the information on this posting? I'm pleased I discovered it though, ill be checking back soon to find out what additional posts you include.
Chuyển hàng Trung Quốc


Автор: Ramon Akers (не зарегистрирован), дата: 16 марта, 2021 - 19:38
#permalink

Автор: hhhh (не зарегистрирован), дата: 22 марта, 2021 - 14:51
#permalink

This article is an appealing wealth of informative data that is interesting and well-written. I commend your hard work on this and thank you for this information. You’ve got what it takes to get attention.
treatnheal


Автор: how to buy amazon returns (не зарегистрирован), дата: 26 марта, 2021 - 18:32
#permalink

Автор: amazon return (не зарегистрирован), дата: 26 марта, 2021 - 18:34
#permalink

how to buy amazon returns via my website.
https://sggreek.com/buy-amazon-customer-returns-pallets-online/


Автор: farhan (не зарегистрирован), дата: 28 марта, 2021 - 14:05
#permalink

Nice blog and absolutely outstanding. You can do something much better but i still say this perfect.Keep trying for the best.
Automatyka domowa


Автор: Гость (не зарегистрирован), дата: 30 марта, 2021 - 09:38
#permalink

This is really a nice and informative, containing all information and also has a great impact on the new technology. Thanks for sharing it. Satta Matka


Автор: osama shk (не зарегистрирован), дата: 4 апреля, 2021 - 15:30
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
luxury bathroom vanity


Автор: farhan (не зарегистрирован), дата: 11 апреля, 2021 - 10:36
#permalink

This is a truly good site post. Not too many people would actually, the way you just did. I am really impressed that there is so much information about this subject that have been uncovered and you’ve done your best, with so much class. If wanted to know more about green smoke reviews, than by all means come in and check our stuff.
all inclusive resort in Tulum


Автор: fave fave (не зарегистрирован), дата: 14 апреля, 2021 - 19:54
#permalink

Thank you a bunch for sharing this with all of us you actually realize what you are talking about! Bookmarked. Please also seek advice from my site =). We could have a hyperlink change contract between us!
shakadang trail


Автор: fave fave (не зарегистрирован), дата: 14 апреля, 2021 - 19:55
#permalink

Thank you a bunch for sharing this with all of us you actually realize what you are talking about! Bookmarked. Please also seek advice from my site =). We could have a hyperlink change contract between us!
shakadang trail


Автор: osama shk (не зарегистрирован), дата: 15 апреля, 2021 - 21:39
#permalink

Most of the time I don’t make comments on websites, but I'd like to say that this article really forced me to do so. Really nice post!
taroko tour


Автор: Dr. Billa (не зарегистрирован), дата: 8 мая, 2021 - 00:39
#permalink

I will visit again for more quality✅ contents and also I recommend this site to all who are✅
แทงบอล


Автор: saani (не зарегистрирован), дата: 13 мая, 2021 - 22:40
#permalink

It is good to see discussion on valuable plateform like yours, thanx for letting us to get some suitable information fro online community Meat benefits


Автор: Гостьsad (не зарегистрирован), дата: 9 июня, 2021 - 21:03
#permalink

Hi! Thanks for the great information you have provided! You have touched on crucuial points!
things to do in cozumel


Автор: Buy Neopets Cheap (не зарегистрирован), дата: 11 июля, 2021 - 22:21
#permalink

Thank you for sharing this experience. What an exceptional website...


Автор: Buy Neopets Cheap (не зарегистрирован), дата: 11 июля, 2021 - 22:22
#permalink

Thank you for this incredible website. I have now learned Javascript....


Автор: Гостьsad (не зарегистрирован), дата: 30 августа, 2021 - 11:20
#permalink

I gotta favorite this website it seems very helpful .
롤듀오


Автор: farhan (не зарегистрирован), дата: 30 августа, 2021 - 11:27
#permalink

Thanks for another wonderful post. Where else could anybody get that type of info in such an ideal way of writing?
롤듀오


Автор: farhan (не зарегистрирован), дата: 30 августа, 2021 - 11:27
#permalink

Thanks for another wonderful post. Where else could anybody get that type of info in such an ideal way of writing?

롤듀오


Автор: carlos (не зарегистрирован), дата: 28 сентября, 2021 - 06:40
#permalink

gracias por compartir la informacion me parece realmente muy útil folhetoss ofertas online


Автор: Гость (не зарегистрирован), дата: 28 октября, 2021 - 13:17
#permalink

I frequently drive to the city after school. I'm not very good at memorizing directions. As a result, I always rely on mapquest driving directions.


Автор: Гость (не зарегистрирован), дата: 28 октября, 2021 - 13:17
#permalink

I frequently drive to the city after school. I'm not very good at memorizing directions. As a result, I always rely on mapquest driving directions.


Автор: sexkontakt (не зарегистрирован), дата: 19 ноября, 2021 - 22:06
#permalink

Visit sexkontakt platform for casual contacts with fine ladies in EU


Автор: Karachi escorts (не зарегистрирован), дата: 10 декабря, 2021 - 13:40
#permalink

We have different types of escorts: Russian escorts, VIP escorts, College girls escorts, Karachi escorts, and housewife escorts. We provide all types of services from our escorts. They are very expert and they are very beautiful. You can choose your escort as per your choice we will provide an escort or sexy call girl as per your choice.


Автор: ديكورات (не зарегистрирован), дата: 5 января, 2022 - 19:15
#permalink

إذا كنت بحاجة لتصميم منزلك بـ ديكورات منازل حديثة عليك بالاختيار المناسب لمنزلك, حيث توجد العديد من التصميمات ذات الألوان المتنوعة لـ تختار منها يتناسب ويتلائم مع ذوقك وطبيعة منزلك, حيث الديكورات الحديثة، التي لها طابع جذاب وفريد، وكذلك التصميمات ذات الطابع الكلاسيكي الذي يختاره الكثيرون الذين يميلون للكلاسيكية عند اختيارهم الديكورات .

ديكورات
ديكور جبس
ديكور غرف نوم
ديكور تلفزيون
ديكورات جدران

ديكورات
ديكور جبس
ديكور غرف نوم
ديكور تلفزيون
ديكورات جدران


Автор: 메이저토토사이트 (не зарегистрирован), дата: 12 января, 2022 - 12:15
#permalink

An intriguing discussion may be worth comment. I’m sure you should write much more about this topic, may well be described as a taboo subject but generally folks are too little to chat on such topics. An additional. Cheers 메이저토토사이트


Автор: akame (не зарегистрирован), дата: 18 января, 2022 - 16:42
#permalink

Автор: Transexuelle a Lille (не зарегистрирован), дата: 22 января, 2022 - 15:02
#permalink

Transexuelle a Lille is great web portal for you if you are alone in France


Автор: Escorts in Islamabad (не зарегистрирован), дата: 26 января, 2022 - 09:50
#permalink

Places to Find the Best Escorts in Islamabad 0303 44 9 44 88 Demand for call girls in Islamabad has increased manifold. They are known for their quality services and they will make sure that you have an unforgettable.

Escorts in Islamabad

phone no:
0303-449-4488


Автор: Escort trans (не зарегистрирован), дата: 28 января, 2022 - 19:44
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me... click here.


Автор: Escorts in Islamabad (не зарегистрирован), дата: 2 февраля, 2022 - 22:00
#permalink

Dear All Gentlemen, Escorts In Islamabad 03001229299 is Providing Top VIP Class Escorts Services in Islamabad, & Rawalpindi Just for Night.


Автор: Гость (не зарегистрирован), дата: 5 февраля, 2022 - 19:41
#permalink

Автор: بيوت جاهزة (не зарегистрирован), дата: 5 февраля, 2022 - 19:42
#permalink

Автор: boss matka (не зарегистрирован), дата: 15 февраля, 2022 - 16:40
#permalink

I wanted to thank you for this great read!! I definitely enjoying every little bit of it I have you bookmarked to check out new stuff you post.Boss matka


Автор: kuber matka (не зарегистрирован), дата: 16 февраля, 2022 - 20:29
#permalink

Kuber matka is a most popular lottery game in India Here we can Provide Kalyan Matka, Mumbai Matka, Rajdhani Matka, Milan Matka Results Satta Matka, Dpboss, Dpboss Matka, Satta matka result,satta result,kuber matka,satta matka king,satta matka chart,satta matka online,satta matka tips. More Info Indian matka


Автор: 710Emporium (не зарегистрирован), дата: 17 февраля, 2022 - 09:06
#permalink

Buy Moodmats And Other Rare Heady Collectibles at the 710 Emporium! Limited Edition Moodmats and other wholesale products available!


Автор: Terp Slurper (не зарегистрирован), дата: 19 февраля, 2022 - 11:09
#permalink

Thanks for the wonderful article! It's been very informative and helpful! God Bless thanks again Terp Slurper


Автор: matka 420 (не зарегистрирован), дата: 15 марта, 2022 - 15:56
#permalink

this is good blogs man ...


Автор: Umesh Yadav net worth (не зарегистрирован), дата: 10 апреля, 2022 - 03:48
#permalink

Umesh Yadav Net Worth, Salary, Endorsements, Assets, Cars Collections, and other details will be provided to you here. Umesh Yadav is a very talented player on the Indian cricket team. His net worth is about dollar 8 million.


Автор: Гость (не зарегистрирован), дата: 12 апреля, 2022 - 16:03
#permalink

Thanks for marvelous posting! I really enjoyed reading it, you might be a great author. I will be sure to bookmark your blog and will eventually come back later on, you have posted a trust worthy blog keep sharing,
The Philips Avent Comfort Manual


Автор: Гость (не зарегистрирован), дата: 12 апреля, 2022 - 19:49
#permalink

Автор: Гость (не зарегистрирован), дата: 12 апреля, 2022 - 23:55
#permalink

Автор: Гость (не зарегистрирован), дата: 16 апреля, 2022 - 03:01
#permalink

Автор: 먹튀폴리스 (не зарегистрирован), дата: 16 апреля, 2022 - 07:45
#permalink

way cool! A few very admirable statements! I like you composing this evaluation and furthermore the remainder of the website is moreover usually incredible. Simply delighted in this article post. A lot thank you yet again. Certainly extraordinary. Extremely good! A good deal obliged to you! I all the time needed to compose on my web page something to that impact. Could i be capable of execute part of your submit to my website online? A debt of gratitude is in order for composing a decent article, i staggered onto your website and examine more than one articles. I love your approach of composing thanks on your weblog submit. Thanks again. Continue to compose. Im obliged for the item. Will peruse on generally i wear at study submit on sites, besides i want to mention that this assessment extremely pressured me to attempt to do it! Your composing style has been surprised me. Lots obliged, very first rate put up.


Автор: 에볼루션카지노 쿠폰 (не зарегистрирован), дата: 16 апреля, 2022 - 07:51
#permalink

it is a good website online submit without fail. No longer too many people might without a doubt, the way you simply did. I am impressed that there is a lot statistics about this subject that has been uncovered and also you’ve defeated yourself this time, with a lot excellent. Appropriate works! Thank you a bunch for sharing this with every body you genuinely realize what you're speaking about! Bookmarked. Please additionally are trying to find advice from my website online =). We ought to have a hyperlink trade agreement among us! You make so many outstanding points right here that i study your article multiple times. Your views are in accordance with my very own for the maximum part. This is great content in your readers. 에볼루션카지노 쿠폰


Автор: MX카지노 도메인 (не зарегистрирован), дата: 16 апреля, 2022 - 07:56
#permalink

do you mind if i quote more than one your posts as long as i offer credit and resources back to your web site? My blog is within the specific same location of hobby as yours and my site visitors might truely advantage from some of the data you offer here. Please allow me know if this adequate with you. Thank you! Recognizes for paper such a beneficial composition, i stumbled beside your weblog except decipher a restricted announce. I want your approach of inscription.. Only aspire to say ones content material can be as brilliant. This clarity with your put up is extremely good and that i might imagine you’re a guru for this difficulty. High-quality at the side of your concur permit me to to capture your contemporary deliver to maintain changed by means of the use of drawing close blog post. Thank you a lot masses of along side you have to go on the pleasurable get the job performed. MX카지노 도메인


Автор: 토토총판모집 (не зарегистрирован), дата: 16 апреля, 2022 - 10:04
#permalink

splendid information! I recently got here across your weblog and had been analyzing alongside. I notion i might depart my first comment. I don’t understand what to mention besides that i have. I simply respect the form of topics you publish right here. Thanks for sharing us a exceptional information that is without a doubt beneficial. Top day! Thanks very a lot for this useful article. I love it. That is an notable motivating article. I am practically happy together with your remarkable paintings. You placed genuinely extraordinarily supportive statistics. Preserve it up. Retain running a blog. Hoping to perusing your next put up 토토총판모집


Автор: 토토사이트추천 (не зарегистрирован), дата: 16 апреля, 2022 - 10:14
#permalink

i examine a whole lot of stuff and i found that the way of writing to clearifing that exactly want to mention changed into very good so i'm impressed and ilike to return once more in future.. Very in all likelihood i’m going to bookmark your blog . You virtually have high-quality tales. Cheers for sharing with us your weblog. Nice publish. I was checking constantly for this text and i am inspired! I would also refer to our weblog . It is the game controller. It's miles very thrilling. Examine it. Hmm!! This weblog is genuinely cool, i’m so fortunate that i have reached right here and got this great information.


Автор: 토토사이트추천 (не зарегистрирован), дата: 16 апреля, 2022 - 10:14
#permalink

i examine a whole lot of stuff and i found that the way of writing to clearifing that exactly want to mention changed into very good so i'm impressed and ilike to return once more in future.. Very in all likelihood i’m going to bookmark your blog . You virtually have high-quality tales. Cheers for sharing with us your weblog. Nice publish. I was checking constantly for this text and i am inspired! I would also refer to our weblog . It is the game controller. It's miles very thrilling. Examine it. Hmm!! This weblog is genuinely cool, i’m so fortunate that i have reached right here and got this great information.


Автор: Гость (не зарегистрирован), дата: 16 апреля, 2022 - 12:02
#permalink

Автор: 메이저놀이터 (не зарегистрирован), дата: 16 апреля, 2022 - 12:34
#permalink

that is a incredible inspiring article. I'm pretty an awful lot thrilled together with your exact paintings. You placed certainly very useful statistics. Keep it up. Preserve running a blog. Seeking to studying your subsequent put up. You have got crushed your self this time, and i appreciate you and hopping for a few more informative posts in future. Thank you for sharing extraordinary records to us. As soon as i thought about things like: why such statistics is for free right here? Because while you write a e book then at least on selling a e-book you get a percent. Thanks and proper luck on informing human beings more about it . 메이저놀이터


Автор: 카지노먹튀 (не зарегистрирован), дата: 16 апреля, 2022 - 13:22
#permalink

thank you for a wonderful percentage. Your article has proved your difficult paintings and revel in you have got were given in this field. Amazing . I love it reading . I found so many interesting stuff for your blog specifically its discussion. From the tons of feedback in your articles, i guess i am now not the simplest one having all of the enjoyment here! Keep up the coolest work.. I study this text. I assume you put a tremendous deal of exertion to make this text. I love your work. Your article has piqued a variety of superb hobby. I can see why for the reason that you have got accomplished any such proper activity of making it interesting. 카지노먹튀


Автор: Гость (не зарегистрирован), дата: 16 апреля, 2022 - 14:27
#permalink

Автор: Гость (не зарегистрирован), дата: 16 апреля, 2022 - 14:34
#permalink

Автор: Josh54 (не зарегистрирован), дата: 7 июня, 2022 - 07:12
#permalink

Я много узнал о javascript на этом сайте. tunnel rush Это действительно полезно для меня. uno online Благодарить


Автор: Annata20 (не зарегистрирован), дата: 8 июня, 2022 - 07:43
#permalink

Для меня это очень интересная и word hurdle полезная информация. dordle Мне нравится читать ваши сообщения.


Автор: Annata20 (не зарегистрирован), дата: 8 июня, 2022 - 07:45
#permalink

Для меня это очень интересная и word hurdle полезная информация. dordle Мне нравится читать ваши сообщения.


Автор: onlinematka (не зарегистрирован), дата: 27 июня, 2022 - 16:30
#permalink

India’s #1 online matka play website. We offer you the platform to try your luck. Play and win a huge amount every day Online Matka Play Read for more information visit our website.


Автор: huren innsbruck (не зарегистрирован), дата: 28 июня, 2022 - 10:10
#permalink

huren innsbruck is great web place created for your own sexy contacts in EU


Автор: escortslahore (не зарегистрирован), дата: 7 июля, 2022 - 16:26
#permalink

I just want to tell you that I am just new to blogs and honestly liked your website. very good information thanks for sharing.

Elite Escorts in Lahore
Call Girls in Lahore
Lahore Call Girls

Escorts in Islamabad
Escorts Islamabad
Islamabad Escorts


Автор: Billie34 (не зарегистрирован), дата: 21 июля, 2022 - 11:56
#permalink

Я прочитал несколько сообщений на вашем сайте, и я думаю, phoodle что это очень интересно и полно полезной информации.


Автор: munmin00 (не зарегистрирован), дата: 23 июля, 2022 - 12:43
#permalink

Thank you for your post. I have read through several similar topics! However, your article gave me a very special impression, unlike other articles. I hope you continue to have valuable articles like this or more to share with everyone! run 3


Автор: Гость (не зарегистрирован), дата: 25 июля, 2022 - 07:53
#permalink

Good there to everyone. Here everyone is sharing kind quality information wordle answer today, so it's nice to read this blog, but I usually visit this blog on a regular basis.


Автор: LanikLanikane (не зарегистрирован), дата: 12 августа, 2022 - 10:47
#permalink

Я с той же проблемой, ? <= и ? #n не работает. Что я должен делать? Надеюсь, я избавился от пробелов в Moviedle.


Автор: limlilimlily (не зарегистрирован), дата: 12 августа, 2022 - 10:49
#permalink

Я с той же проблемой, ? <= и ? #n не работает. Что я должен делать? Надеюсь, я избавился от пробелов в Moviedle.


Автор: Escort Grand Est (не зарегистрирован), дата: 16 августа, 2022 - 19:32
#permalink

You can find hot young ladies for casual contacts in France if you vist our web platform Escort Grand Est


Автор: techieflash (не зарегистрирован), дата: 20 августа, 2022 - 08:41
#permalink

techieflash


Автор: Transexuelles Bordeaux (не зарегистрирован), дата: 25 октября, 2022 - 19:51
#permalink

Find fine shemales from EU for chat and other kind of casual contacts at Transexuelles Bordeaux


Автор: Zoe Compton (не зарегистрирован), дата: 3 ноября, 2022 - 06:47
#permalink

The best free online games can be found at geometry dash games!


Автор: shemale sex reims (не зарегистрирован), дата: 22 ноября, 2022 - 16:08
#permalink

shemale sex reims for your own sexy chat contacts in France


Автор: shemale sex lyon (не зарегистрирован), дата: 28 ноября, 2022 - 21:42
#permalink

shemale sex lyon is most popular web place for finding casual chat contacts in France


Автор: YouTube Trends Australia (не зарегистрирован), дата: 8 декабря, 2022 - 08:31
#permalink

Let's check out What's Trending Videos on YouTube Australia. All the latest content is waiting for you. Are you excited to know the hot gossip of new movies, the winners of popular games, the world records in sports, spicey latest news, charming and melodious latest music, and brand-new techs and gadgets? So get ready to entertain yourself or learn something new from the Top 50 latest videos by YouTube Trends today in Australia

Trending Gaming Video In Australia
Trending Music Video In Australia
Trending Sports Video In Australia
Trending News Video In Australia


Автор: YouTube Trends Australia (не зарегистрирован), дата: 8 декабря, 2022 - 08:32
#permalink

Let's check out What's Trending Videos on YouTube Australia. All the latest content is waiting for you. Are you excited to know the hot gossip of new movies, the winners of popular games, the world records in sports, spicey latest news, charming and melodious latest music, and brand-new techs and gadgets? So get ready to entertain yourself or learn something new from the Top 50 latest videos by YouTube Trends today in Australia

Trending Gaming Video In Australia
Trending Music Video In Australia


Автор: 383 (не зарегистрирован), дата: 11 декабря, 2022 - 01:33
#permalink

Buy alabama drivers license online
Buy alaska drivers license online
Buy arizona drivers license online
Buy arkansas drivers license online
Buy california drivers license online
Buy colorado drivers license online
Buy connecticut drivers license online
Buy delaware drivers license online
Buy florida drivers license online
Buy georgia drivers license online
Buy hawaii drivers license online
Buy illinois drivers license online
Buy indiana drivers license online
Buy iowa drivers license online
Buy kansas drivers license online
Buy kentucky drivers license online
Buy louisiana drivers license online
Buy main drivers license online
Buy maryland drivers license online
Buy michigan drivers license online
Buy minnesota drivers license online
Buy mississippi drivers license online
Buy missouri drivers license online
Buy montana drivers license online
Buy nebraska drivers license online
Buy nevada drivers license online
Buy new hampshire drivers license online
Buy new jersey drivers license online
Buy new washington drivers license online
Buy ohio drivers license online
Buy chinese passport online
Buy german passport online
Buy spanish passport online
Buy uk passport online
Buy usa passport online
Buy germany drivers license online
Buy ireland drivers license online
Buy italian drivers license online
Buy old delaware drivers license online
Buy old georgia drivers license online
Buy old maine drivers license online
Buy old oregon drivers license online
Buy old texas drivers license online
Buy pennsylvania drivers license online
Buy rhode island drivers license online
Buy south carolina drivers license online
Buy spain drivers license online
Buy tennessee drivers license online
Buy texas drivers license online
Buy uk drivers license online
Buy utah drivers license online
Buy vermont drivers license online
Buy virginia drivers license online
Buy wisconsin drivers license online

Buy mexicana magic truffles online
Buy atlantis magic truffles online
Buy utopia magic truffles online
Buy psilocybe cubensis syringe online
Buy african pyramid mushroom online
buy albino penis envy mushroom online
buy albino penis envy mushroom online
Buy alto magic mushroom chocolate bar online
Buy amazonian mushroom online
Buy amazonian psychedelic bar online
Buy averys albino mushroom online
Buy blue meanies mushroom online
Buy mushroom spore online
Buy caramel chocolate bar mushroom online
Buy mushroom caps online
Buy golden teacher chocolate bar online
Buy golden teacher mushroom online
Buy liberty caps mushroom online
Buy magic mushroom online
Buy magic boom chocolate bars online
Buy magic mushroom grow kit online
Buy master blend organic mushroom powder online
Buy mexican cubensis mushroom online
Buy chocolate bar online
Buy mushroom capsules online
Buy one up girl scout cookie online
Buy one up gummies online
buy one up psilocybin chocolate bar online
Buy polka dot chocolate bars online
Buy power magic truffles online
Buy psilocybin swiss chocolate online
Buy sweeter high thc gummies online
Buy high thc syrup online
Buy thc o gummies online
Buy trippy flip chocolate bars online
Buy wonder chocolate bars online


Автор: 383 (не зарегистрирован), дата: 11 декабря, 2022 - 01:33
#permalink

Buy alabama drivers license online
Buy alaska drivers license online
Buy arizona drivers license online
Buy arkansas drivers license online
Buy california drivers license online
Buy colorado drivers license online
Buy connecticut drivers license online
Buy delaware drivers license online
Buy florida drivers license online
Buy georgia drivers license online
Buy hawaii drivers license online
Buy illinois drivers license online
Buy indiana drivers license online
Buy iowa drivers license online
Buy kansas drivers license online
Buy kentucky drivers license online
Buy louisiana drivers license online
Buy main drivers license online
Buy maryland drivers license online
Buy michigan drivers license online
Buy minnesota drivers license online
Buy mississippi drivers license online
Buy missouri drivers license online
Buy montana drivers license online
Buy nebraska drivers license online
Buy nevada drivers license online
Buy new hampshire drivers license online
Buy new jersey drivers license online
Buy new washington drivers license online
Buy ohio drivers license online
Buy chinese passport online
Buy german passport online
Buy spanish passport online
Buy uk passport online
Buy usa passport online
Buy germany drivers license online
Buy ireland drivers license online
Buy italian drivers license online
Buy old delaware drivers license online
Buy old georgia drivers license online
Buy old maine drivers license online
Buy old oregon drivers license online
Buy old texas drivers license online
Buy pennsylvania drivers license online
Buy rhode island drivers license online
Buy south carolina drivers license online
Buy spain drivers license online
Buy tennessee drivers license online
Buy texas drivers license online
Buy uk drivers license online
Buy utah drivers license online
Buy vermont drivers license online
Buy virginia drivers license online
Buy wisconsin drivers license online

Buy mexicana magic truffles online
Buy atlantis magic truffles online
Buy utopia magic truffles online
Buy psilocybe cubensis syringe online
Buy african pyramid mushroom online
buy albino penis envy mushroom online
buy albino penis envy mushroom online
Buy alto magic mushroom chocolate bar online
Buy amazonian mushroom online
Buy amazonian psychedelic bar online
Buy averys albino mushroom online
Buy blue meanies mushroom online
Buy mushroom spore online
Buy caramel chocolate bar mushroom online
Buy mushroom caps online
Buy golden teacher chocolate bar online
Buy golden teacher mushroom online
Buy liberty caps mushroom online
Buy magic mushroom online
Buy magic boom chocolate bars online
Buy magic mushroom grow kit online
Buy master blend organic mushroom powder online
Buy mexican cubensis mushroom online
Buy chocolate bar online
Buy mushroom capsules online
Buy one up girl scout cookie online
Buy one up gummies online
buy one up psilocybin chocolate bar online
Buy polka dot chocolate bars online
Buy power magic truffles online
Buy psilocybin swiss chocolate online
Buy sweeter high thc gummies online
Buy high thc syrup online
Buy thc o gummies online
Buy trippy flip chocolate bars online
Buy wonder chocolate bars online


Автор: 카지노사이트 (не зарегистрирован), дата: 11 декабря, 2022 - 05:56
#permalink

There must have been many difficulties in providing this information. 카지노사이트 Nevertheless, thank you for providing such high-quality information.


Автор: shemale escorts mackay (не зарегистрирован), дата: 26 декабря, 2022 - 18:30
#permalink

shemale escorts mackay is the web place created for you to find casual contacts with fine ladies in Australia


Автор: 온라인카지노사이트 (не зарегистрирован), дата: 8 февраля, 2023 - 05:16
#permalink

What a nice post! I'm so happy to read this. 온라인카지노사이트 What you wrote was very helpful to me. Thank you. Actually, I run a site similar to you. If you have time, could you visit my site? Please leave your comments after reading what I wrote. If you do so, I will actively reflect your opinion. I think it will be a great help to run my site. Have a good day.
gjj


Автор: luckjff (не зарегистрирован), дата: 10 февраля, 2023 - 11:53
#permalink

To shoot the ball at your foe, you simply need to tap the screen. But there's more to it than that; crucial elements of this game include time, chat gpt login, and strategy.


Автор: junniko (не зарегистрирован), дата: 16 июня, 2023 - 12:50
#permalink

Thanks so much for this information moto x3m bike race game. I have to let you know I concur on several of the points you make here and others may require some further review, but I can see your viewpoint


Автор: annemanike (не зарегистрирован), дата: 30 июня, 2023 - 10:05
#permalink

valuable and excellent design, as share good stuff with good ideas and concepts,
lots of great information and inspiration, both of which I need, B612 apk


Автор: Islamabad call girls (не зарегистрирован), дата: 2 сентября, 2023 - 10:46
#permalink

Escort models from Islamabad were in business passionately and with a lot of enthusiasm for a long time. Today, they're at a point where some exclusive clients represent their large customer base, which is the full achievement of those working in conjunction with Escorts from Islamabad.

https://islamabadvipcallgirls.online/call-girls-in-islamabad/


Автор: IndiJanka (не зарегистрирован), дата: 26 сентября, 2023 - 17:30
#permalink

Your content is nothing short of brilliant in many ways. I think this is engaging and eye-opening material. Thank you so much for caring about your content and your readers.
Profitable Dropshipping in Dubai, UAE


Автор: linnellaa (не зарегистрирован), дата: 5 октября, 2023 - 07:16
#permalink

Very nice and informative post, thanks for your article. you can also stop by magic tiles 3 and magic tiles to play the best games during recess


Автор: William (не зарегистрирован), дата: 10 декабря, 2023 - 21:59
#permalink

Are you looking for an easy and secure way to manage your finances? Look no further than Revolut, the innovative banking app that allows you to easily pay friends, transfer money internationally, and even invest in stocks. However, did you know that there is an even more valuable version of the app? By purchasing a verified Revolut account, you can unlock a host of new features and benefits. In this article, we’ll explore the many reasons why you should consider buy verified Revolut account.


Автор: Buy Verified Revolut Account (не зарегистрирован), дата: 10 декабря, 2023 - 22:01
#permalink

Are you looking for an easy and secure way to manage your finances? Look no further than Revolut, the innovative banking app that allows you to easily pay friends, transfer money internationally, and even invest in stocks. However, did you know that there is an even more valuable version of the app? By purchasing a verified Revolut account, you can unlock a host of new features and benefits. In this article, we’ll explore the many reasons why you should consider buying a verified Revolut account.


Автор: dyani (не зарегистрирован), дата: 4 марта, 2024 - 15:24
#permalink

There may be people who have more talent than you, but there’s no excuse for anyone to work harder than you do duck life


Автор: Гость (не зарегистрирован), дата: 12 марта, 2024 - 07:45
#permalink

I can spend hours experimenting with different combinations in infinite craft always discovering something new


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
1 + 7 =
Введите результат. Например, для 1+3, введите 4.
 
Текущий раздел
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum