| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Анализ строки по критерию |
| Автор: Munya 29.2.2008, 16:37 | ||||
| Имеем: поле ввода (input) блок (div) В блоке отображаются имеющиеся наименования (в виде ссылок) При нажатии на один из них он добавляется в поле ввода Задача: При редактировании поля ввода необходимо индицировать в блоке введённые элементы. Что реализовано:
Скрипт:
Собственно проблема: Элементы в форме ввода считаются разделёнными если между ними есть запятая. При этом если элемент такой присутствует в блоке он должен быть отмечен. Например: имеем в форме: super puper, mega super, nike, adidas puma, в блоке: adidas, nike, puma При этом зачеркнут должен быть только nike (слева от него запятая, справа тоже) Adidas не подходит т.к. после него нет запятой, puma - т.к. до неё нет запятой. В моем же примере puma, в следствие регулярного выражения все равно считается верно вписанной. |
| Автор: ksnk 29.2.2008, 16:52 |
| Надо дальше курить регулярные выражения. там еще есть предпросмотр и постпросмотр |
| Автор: ksnk 29.2.2008, 17:21 | ||
Нет, не так... Раз уж есть регулярки, нужно их мучить ;-)
Вот такая конструевина выводит все элементы из массива вариантов (второй параметр), которые ограничены запятыми или началом-концом строки в строке (первый параметр) |
| Автор: Munya 29.2.2008, 17:26 |
| Угу попробую, завтра уже А почему такая любовь к регуляркам? |
| Автор: ksnk 29.2.2008, 17:39 |
наверное, я мазохист |
| Автор: Munya 1.3.2008, 10:40 |
| Два впроса: почему здесь необходимо использовать join? Я сам: Ответ: потому, что составляется регулярка с вариантами шаблонов Условие движения по while - это специфика функции exec? (я знаю, что она выполняет поиск совпадения в специфицированной строке. Возвращает результирующий массив.) |
| Автор: ksnk 1.3.2008, 11:12 | ||
Чтобы регулярка поедала только то, что надо. В этом примере получится
Да. exec - примерный аналог preg_match. Прикрутив к регулярке ключик 'g' и используя такой цикл можно превратить ее в аналог preg_match_all |
| Автор: Munya 1.3.2008, 12:13 |
| Все пока получилось, спасибо. |