Операции со строковыми переменными

В составе языка JavaScript есть средства для работы со строковыми (символьными) переменными.

Чаще других используется операция конкатенации (объединения, суммирования) строковых переменных и констант. Например, строковая операция "7"+"3" даст результат "73". В составе языка JavaScript есть методы, предназначенные для преобразования строковых переменных в числовые. Необходимость в подобных методах особенно обостряется в случаях ввода информации с помощью различных форм (текстовое поле, текстовая область). Метод parselnt(x,s) преобразует строковую переменную х в целочисленную переменную, представленную в десятичной системе счисления. Переменная s учитывает в какой системе счисления (двоичной или шестнадцатеричной) выражено число х.

Метод parseFloat(x) преобразует строковую переменную х в вещественную числовую переменную (с плавающей запятой).

Метод Str.charAt(n) позволяет выделить из строковой переменной с именем Str символ, расположенный в позиции п. Отсчет порядковых номеров символов начинается с нуля.

Метод Str.substring(n,m) дает возможность выделить из строки с именем Str подстроку, которая располагается от позиции п до позиции т-1.

Свойство Str. length опеределяет, сколько символов содержится в переменной Str.

С помощью метода Str.toLowerCase() можно преобразовать символы переменной Str в строчные буквы (символы нижнего регистра). Метод Str.toUpperCase() действует "в обратном" направлении: преобразует символы переменной с именем Str в заглавные буквы (символы верхнего регистра).

Методы Str.indexOf(SubStr,n) и Str.lastIndexOf(SubStr,n) позволяют определить номер позиции подстроки SubStr, начиная с которой подстрока входит в строковую переменную Str. Поиск вхождения подстроки начинается с позиции п. Если искомая подстрока отсутствует в составе строки Str, то метод возвращает результат -1. Различие рассматриваемых методов состоит в том, что метод indexOf(SubStr,n) ведет поиск подстроки SubStr от начала строки Str к её концу (слева - направо), а метод Str.lastIndexOf(SubStr,n) -наоборот, от конца строки к её началу (справа - налево). Если значение переменной п не указано, то поиск подстроки SubStr ведется для метода in-dexOf(SubStr) с начала строки Str, а для метода last!ndexOf(SubStr) - с конца строки Str.

Ниже приведены примеры использования строковых методов и свойств.

Конкатенация двух строк “Паро” и “ход” даст: “Пароход”

Конкатенация двух строк 23 и 77 даст: “23 ” + “77 ” = 2377

Суммирование двух чисел 23 и 77 даст: = 100

Целочисленное преобразование строки “3.14159” даст: - 3 Вещественное преобразование строки “3.14159” даст: = 3.14159 Первая буква слова “Строка” - С.

Третья буква слова “Строка” - р.

В слове “Строка” в позициях 3...5 расположена подстрока - рок.

Слово “Строка” содержит - 6 символов.

Символы слова “Строка” преобразованы к нижнему регистру - строка.

Символы слова “Строка” преобразованы к верхнему регистру -СТРОКА.

Подстрока “рок” входит в слово “Строка”, начиная с позиции - 2. Поиск - от начала строки.

Подстрока “рок” входит в слово “Строка”, начиная с позиции - 2. Поиск - от конца строки.

Код данного скрипта приведен ниже.

script language="JavaScript" var str 1-’Строка";

var SubStr-'рок";

var str2="napo";

var 81гЗ="ход";

var str4="23";

var str5="77";

var str6="3.14159";

document.?гке("Конкатенация двух строк “napo” и

&^ио;ход&^ио; даст: " + "“" + str2 + str3 + "” " + " ");

document.writef'KoHKaTeHauM двух строк 23 и 77 даст: “23 ” + “77 ” = " + str4 + str5 + " ");

document.write("CyMMHpoBaHHe двух чисел 23 и 77 даст: = " + (par-selnt(str4) + parselnt(str5)) + " ");

document. УгПе("Целочисленное преобразование строки

“3.14159” даст: = " + parselnt(str6) + " ");

document.writef'BeniecTBeHHoe преобразование строки

“3.14159” даст: = " + parseFloat(str6) + " ");

document.угЦе("Первая буква слова “CTpoKa” - " + strl .charAt(O) + "." + " ");

document.угПе("Третья буква слова “CTpoKa” - " + strl ,charAt(2) + "." + " ");

document.write("B слове “CTpoKa” в позициях 3...5 расположена подстрока - " + strl.substring^,5) + + " ");

document.writef'CjiOBO “CTpoKa” содержит - " + strl.length + " символов" + + " ");

document.write("CHMBonbi слова “CTpoKa” преобразованы к нижнему регистру - " + strl.toLowerCase() + + " ");

document.writef'CHMBonbi слова “CTpoKa” преобразованы к верхнему регистру -" + strl.toUpperCase() + + "<Ьг>");

document.у/гНс("Подстрока “poK” входит в слово “CTpoKa”, начиная с позиции - " + strl.indexOf(SubStr) + "

Поиск - от начала строки." + "<Ьг>");

document.угПе("Подстрока “poK” входит в слово “CTpoKa”, начиная с позиции - " + strl.last!ndexOf(SubStr) + + " Поиск - от конца строки." + "<Ьг>");

/script

Дадим комментарии к результатам работы скрипта.Согласно расчетам подстрока "рок" входит в строку "Строка", начиная с позиции 2. Нужно помнить, что счет номеров позиций ведется, начиная с нуля. Результаты поиска позиции расположения подстроки "рок" с помощью методов strl.last!ndexOf(SubStr) и strl.indexOf(SubStr) оказались одинаковыми. Это естественно: номер позиции вхождения подстроки не изменился из-за смены направления поиска.

Перевод чисел из одной системы счисления в другую

Перевод двоичных и шестнадцатеричных чисел в десятичную систему счисления (СС) можно осуществить с помощью функции преобразования строковых переменных в целочисленные переменные - метод parselnt(x, s). Здесь приняты такие обозначения: х - преобразуемая строковая (или числовая) переменная; s - система счисления, в которой представлена переменная х. Для двоичной СС s = 2, а для шестнадцатеричной СС s = 16.

Рассмотрим скрипт, предназначенный для перевода чисел из двоичной системы счисления в десятичную СС.

Введите целое двоичное число

Перевести в десятичную СС

Если в текстовое поле ввести число 101, то после щелчка по кнопке «Перевести в десятичную СС» появится сообщение: "Десятичный эквивалент этого двоичного числа 5 ".

Код скрипта приведен ниже.

script languagc="JavaScript"

function func_str() {

var a 1 =document.form_str.inp_str. value;

var a2=parselnt(al, 2);

alert ("Десятичный эквивалент этого двоичного числа " + а2);

}

/script

Язык JavaScript позволяет просто осуществить перевод из шестнадцатеричной СС в десятичную СС. При этом целые шестнадцатеричные числа должны записываться в такой форме:

  • 0x234D
  • 0xF4D
  • 0x25

Допустимо символы А, В, С, D, Е, F заменять строчными буквами а, Ь, с, d, е, ? Если в методе parselnt(x, s) явно указана шестнадцатеричная система счисления, то допустимо при вводе шестнадцатеричных чисел опускать префикс Ох (ноль и икс).

Введите целое шестнадцатеричное число

Перевести в десятичную СС

Если в текстовое поле ввести шестнадцатеричное число 2F, то в результате преобразования будет получено десятичное число 47.

Код скрипта для перевода чисел из шестнадцатеричной СС в десятичную СС приведен ниже.

script language="JavaScript"

function func2()

var al =document.fbrm2.inp2. value;

var a2=parsclnt(a 1,16);

alert ("Десятичный эквивалент этого шестнадцатеричного числа " + а2);

}

/script

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >