Оглавление

Глобальный класс RegExp. Составные части адресов электронной почты и URL-адресов

Получить результаты поиска можно с помощью свойств глобального класса
RegExp!
□  $n возвращает n-ную группу символов в заданном подвыражении;
□  input возвращает строку, в которой был произведен поиск;
□  index возвращает позицию в строке найденной подстроки;
□  lastindex возвращает последнюю позицию успешного поиска.


В качестве примера разберем E-mail (листинг 32) и URL-адрес (листинг 33) на составные части.

 

Листинг 3.32. Разбираем E-mail на составные части

 


var p =/^([a-z0-9_\.\-]+)@(([a-z0-9\-]+\.)+[a-z]{2,6})$/i;
var Str = "unicross@mail.ru";
p.exec(Str);
document.write("имя ящика - " + RegExp.$1 + "<br>");
document.write("имя сайта - " + RegExp.$2 + "<br>");
document.write("полный E-mail - " + RegExp.input + "<br>");
document.write(RegExp.index + "<br>");
document.write(RegExp.lastIndex + "<br>");

 

В итоге получим следующий результат:

имя ящика - unicross
имя сайта - mail.ru
полный E-mail - unicross@mail.ru
0
16

 

Листинг 3.33. Разбираем URL-адрес на составные части

 


var p = /^(\w+:\/\/)(([a-z0-9\-]+\.)+[a-z]{2,6})([a-z0-9\-\/]*\/)*([a-z0-9\-]+\.[a-z]+)/i;
var Str = "http://www.mysite.ru/folder1/folder2/forder3/file.html";
p.exec(Str);
document.write("Полный URL - " + RegExp.input + "<br>");
document.write("Протокол - " + RegExp.$1 + "<br>");
document.write("Сайт - " + RegExp.$2 + "<br>");
document.write("Путь - " + RegExp.$4 + "<br>");
document.write("Имя файла - " + RegExp.$5 + "<br>");

 

В итоге получим результат:

Полный URL - http://www.mysite.ru/folderl/folder2/forder3/file.html
Протокол - http://
Сайт - www.mysite.ru
Путь - /folderl/folder2/forder3/
Имя файла - file.html

 

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити