• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Программисты на Javascript, взываю к вашему опыту

  • Автор темы KARLSONCHIK
  • Дата начала
Статус
Закрыто для дальнейших ответов.
K

KARLSONCHIK

Нужно создать поисковик на JavaScript!
Подробнее:
1. Есть txt-документ, состоящий из строк вида:

...............................
<li>Вася Иванов<br><a href="pdf_/2004/5/Pages from journal-4.pdf" target="iframe">
Всех с Новым Годом</a>

...............................

(т.е. для каждой строки уникальный набор года, номера и текста ссылки. для этой строки, соответственно - (2004, 5, Всех с Новым Годом) )

2. Есть textbox, в который вводится строка поиска, условно: "Новым"

3. И наконец есть фрейм... даже неважно - пусть будет просто HTML-документ, в который нужно вписать результаты поиска, т.е. indexOf() находит слово "Новым" в соответствующей строке, а дальше из этой строки мы получаем три переменные:
god=2004;
nomer=5;
nazvanie="Всех с Новым Годом";

(в идеале нужно учесть, что найденных строк может быть несколько) :)


Люди, помогите, пожалуйста! Если кто разбирается в этом...
Заранее Спасибо!!!
 
K

KARLSONCHIK

В общем нет. Причём щас глянул в инэте, ничего путного, кроме того, что это "регулярные выражения", не нашел... :)
Что это и как может помочь?
 
G

Gisma

Регулярные выражения - это строки являющиеся шаблонами для других строк, соотв. с помощью регулярных выражений, можно сравнивать между собой строки на предмет "похожести" со всеми вытекающими...
 
K

KARLSONCHIK

А пример можно? Как это работает на JavaScript? (часть кода желательно)
...потому как я не сталкивался с этим.
 
K

KARLSONCHIK

Ладно... Хорошо.
Пусть даже я смогу преобразовать строку, НО каким образом обратиться к внешнему txt-файлу, найти в нём ключевое слово и, главное, забрать всю строку (с этим ключевым словом) в новую строковую переменную?!

P.S.: за регулярные выражения большое спасибо! буду разбираться... думаю, всё ок будет! :)
 
S

_serg_

НО каким образом обратиться к внешнему txt-файлу
а что, в джаваскрипте есть инструменты работы с файлами?

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

Gisma

Для: _serg_ тут ты чуть-чуть не прав, есть соотв. ActiveX компоненты :)
и потом, KARLSONCHIK, так и не назвал где лежит файл :(
 
K

KARLSONCHIK

Люди, всем спасибо за участие!!! Проблема в общем почти решена... Осталось по мелочам...

Например это:

переменная а

var a = document.frames[0].document.getElementsByTagName('A');

содержит в себе массив строк (их очень много: порядка трех тысяч)...
Так вот программа при таком количестве выдает ошибку (ну, понятно, ограничения на переменную наверное какие-то). При количестве около двух тысяч всё работает отлично...

Кто-нибудь знает, как увеличить размер места, выделенного под переменную?
В VB я знаю просто нужно поменять тип переменной, а тут же вроде всё автоматически должно устанавливаться...

P.S.: Я в JavaScript'e новичок, поэтому не судите строго - вопросы можут быть не совсем корректными... :( Всем ещё раз спасибо!
:)
 
S

_serg_

to Gisma
мне-то приходится делать продукт для всех - я о таких вещах, как платформозависимый АктивХ даже и не подумал...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!