Клиентский JavaScript. Справочник

         

Примеры


Пример 1. Здесь регулярное выражение содержит флаги global и ignore case с разрешением методу replace замещать каждое вхождение 'apples' на 'oranges'.

<SCRIPT>
re = /apples/gi;
str = "Apples are round, and apples are juicy.";
newstr=str.replace(re, "oranges");
document.write(newstr)
</SCRIPT>

Будет напечатано "oranges are round, and oranges are juicy."

Пример 2. В этом примере регулярное выражение определено в методе replace и содержит флаг игнорирования регистра.

<SCRIPT>
str = "Twas the night before Xmas...";
newstr=str.replace(/xmas/i, "Christmas");
document.write(newstr)
</SCRIPT>

Будет напечатано "Twas the night before Christmas..."

Пример 3. Этот скрипт переключает слова в строке. Для замещающего текста используются значения свойств $1 и $2.

<SCRIPT LANGUAGE="JavaScript1.2">
re = /(\w+)\s(\w+)/;
str = "John Smith";
newstr = str.replace(re, "$2, $1");
document.write(newstr)
</SCRIPT>

Будет напечатано "Smith, John".

Пример 4. Здесь градусы по Фаренгейту замещаются эквивалентом по Цельсию. Градусы по Фаренгейту должны быть числом с конечной F. Функция возвращает число по Цельсию с конечной С. Например, если введено 212F, функция возвращает 100C. Если введено 0F, функция возвращает -17.77777777777778C.

Регулярное выражение test проверяет числа с конечной буквой F. Число по Фаренгейту доступно для Вашей функции через параметр $1. Функция устанавливает число по Цельсию на основе значения по Фаренгейту, передаваемого в строке функции f2c. Затем f2c возвращает число по Цельсию. Эта функция напоминает флаг s///e из Perl.

function f2c(x) {
   var s = String(x)
   var test = /(\d+(\.\d*)?)F\b/g
   return s.replace
      (test,
         myfunction ($0,$1,$2) {
            return (($1-32) * 5/9) + "C";
         }
      )
}



Содержание раздела