Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » javascript регулярные выражения

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6

Открыть новую тему     Написать ответ в эту тему

just aero



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброе <localtime> всем.
 
Подскажите решение распостраненной (казалось бы) задачи:
 
1. Разделить ай пи адрес 192.168.0.0 на четыре числа.
2. Разделить диапазон 1-5 на два числа.
 
Заранее спасибо.
 
Пока получилось только проверка валидности введенного адреса:

Код:
var re = /^([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[0-9][0-9]|[01][0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/;
var str1 = ipinput.value;
var result = re.test(str1) ? "правильно" : "неправильно";

 


 
Разобрался. Решение как всегда оказалось простым =)

Код:
var re = /\d+/g;
var str1 = ipinput.value;
var str2 = str1.match(re);
var result = str2[0]+" - "+str2[1]+" - "+str2[2]+" - "+str2[3];

Модератор, закрывай тему, а меня бань за флуд =)

Протестировать свое регулярное выражение можно в онлайне тут JRX

Всего записей: 13 | Зарегистр. 25-04-2007 | Отправлено: 07:23 30-07-2008 | Исправлено: Cheery, 23:40 16-01-2010
DarkSmoke



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день.
Помогите написать регулярное выражения [0-9]{1,4}\.[0-9]{1,4}\.[0-9]{1,4}\.[0-9]{1,4}
Знаний вообще ноль. и как его оформлять в яваскрипте.
Пример 123.123.1.1234 или 1234.2.232.1234

Всего записей: 962 | Зарегистр. 08-10-2005 | Отправлено: 19:30 02-01-2010 | Исправлено: DarkSmoke, 19:31 02-01-2010
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DarkSmoke
так и оформить - оно будет таким же

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:24 03-01-2010
DarkSmoke



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
а какая команда в яваскрипте, в пхп replace

Всего записей: 962 | Зарегистр. 08-10-2005 | Отправлено: 20:51 03-01-2010
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DarkSmoke
а вы самостоятельно умеете поисковиком пользоваться? Так и набираете - регулярные выражения javascript
Или javascript regexp
 
http://www.softtime.ru/info/articlephp.php?id_article=42
http://www.regular-expressions.info/javascript.html

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:04 03-01-2010 | Исправлено: Cheery, 22:30 03-01-2010
eternal2000



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
подскажите регулярное выражение на javascript для удаления из строки всех символов кроме цифр  
 
Cheery
тему с данным вопросом вы закрыли и я не успел спросить:

Цитата:
замена [^0-9] на пустое  

нужно чтобы кроме цифр остался еще минус в начале строки если он есть, можно такую регулярку сбацать?

Всего записей: 185 | Зарегистр. 11-11-2007 | Отправлено: 11:20 16-01-2010 | Исправлено: eternal2000, 12:18 16-01-2010
APTEM



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
проще выдрать всё, что напоминает числа и из них сделать новыю строку, чем удалять из строки всё, что не похоже на числа. но можно и так:
Код:
alert('-sdfg-fgh123dfg:bd^fg-4567bf-gb_dfg8 97-2345bnd-'.replace(/([^-0-9]+|-\D|-$)/g,''))

Всего записей: 396 | Зарегистр. 16-07-2004 | Отправлено: 23:34 16-01-2010
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
APTEM
результат не соответствует тому, что просят
 
eternal2000
если честно - в лоб одной регуляркой не придумывается. но вот так..
 
var st='-sdfg-fgh123dfg:bd^fg-4567bf-gb_dfg8 97--2345bnd-'
st=st.replace(/[^\-\d]/g,'')
alert(st.substring(0,1)+st.substring(1,st.length-1).replace(/-/g,''))

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:10 17-01-2010
ForposT_ForeveR



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте.
Помогите, пожалуйста, спарсить содержимое в iframe от [foruser] до [/foruser] и вывести содержимое в messagebox'e.
Распишите, пожалуйста, код полностью. В JS не силён.

Всего записей: 525 | Зарегистр. 11-12-2004 | Отправлено: 23:31 30-01-2011
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ForposT_ForeveR

Цитата:
спарсить содержимое в iframe

iframe с того же домена, откуда грузится и страница? если нет, то это невозможно.
если да, то пример кода, иначе не совсем понятно что такое [foruser]

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:30 31-01-2011
Nagolder

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Крохотный вопрос. Не нашел ответа в гугле. Или не понял того, что отвечали люди на подобное.
 
Нужна регулярка, разрешающая вводить ТОЛЬКО буквы и цифры, причем буквы любого алфавита, т.е. и латиницу, и кириллицу, и умляуты немецкие, и символы иных европейских языков, отличающиеся от латиницы и кириллицы.
 
Смысл - обрезать спецсимволы и всякие знаки препинания и скобки. Можно конечно их запретить простым перечислением, но может есть способ покомпактнее и покрасивее?

Всего записей: 120 | Зарегистр. 24-09-2006 | Отправлено: 01:18 11-09-2011
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nagolder

Цитата:
причем буквы любого алфавита

это слишком.. там и коды разные. тогда проще вырезать все, что не относится

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:52 11-09-2011
Nagolder

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
 

Цитата:
это слишком.. там и коды разные

 
Т.е. не существует в природе жесткого определения (идентификатора) НЕбуквенного значения или, наоборот, буквенного? По аналогии с [a-z] например [a-&#223;] (немецкий вариант, к примеру).  
Усиленно пытаюсь осилить регулярки, перечитал уже кучу материалов, но пока мой бедный мозг тормозит именно на таких глобальных вещах. Просто не хочется громоздких конструкций там, где есть минимальный шанс без них обойтись...
 
PS. При попытке включить в пост умляуты они меняются на сущности, вместо &#223; писал последнюю букву немецкого алфавита "эс-цэт"

Всего записей: 120 | Зарегистр. 24-09-2006 | Отправлено: 02:26 11-09-2011 | Исправлено: Nagolder, 02:29 11-09-2011
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nagolder
> в природе жесткого определения (идентификатора) НЕбуквенного значения или, наоборот, буквенного?
Ну не «жесткого», а напротив, зависящего от локали. Существует ([[:alpha:]]), но не в яваскрипте. Возможно, вам будет удобно воспользоваться вот этими наработками.

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 02:51 11-09-2011 | Исправлено: ASE_DAG, 02:51 11-09-2011
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста, есть ли в яваскриптовых регескпах конструкция эквивалентная (?<=pattern)?
 
$ perl -e '$_="<a>blah-blah</a>"; print "$&\n" if /(?<=<a>).*(?=<\/a>)/'
blah-blah

>>> '<a>blah-blah</a>'.match(/(?<=<a>).*(?=<\/a>)/)
SyntaxError: invalid quantifier

 
при этом (?=pattern) есть и обрабатывается ожидаемо:
 
>>> '<a>blah-blah</a>'.match(/.*(?=<\/a>)/)
["<a>blah-blah"]

 
Не могу ключевых слов придумать, по которым гуглить.

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 22:13 11-09-2011 | Исправлено: ASE_DAG, 22:15 11-09-2011
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Отвечаю на свой вопрос. Называется это (регулярное выражение вида (?<=pattern)) «lookbehind assertion», в яваскрипте их нету; есть разные способы их эмулировать.

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 18:15 13-09-2011
Spy686



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
есть код
 

Код:
 
var obj = document.getElementById('text');
 
 
obj.value = obj.value.replace(/\[ url=([\s\S]*?) \]/, '[ url=$1?play=fish \]')  

 
http://learn.javascript.ru/play/bYqt6
 
но он заменяет только первое совпадение а следующие игнорирует
 
как сделать что бы он делал это все для всего текста ?
 

Всего записей: 193 | Зарегистр. 17-12-2010 | Отправлено: 06:00 22-09-2012
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Spy686

Цитата:
как сделать что бы он делал это все для всего текста ?

в конце регулярки /g  , а не просто /

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 06:32 22-09-2012
Spy686



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
 
не катит
 
http://learn.javascript.ru/play/Oq9El
 
пробывал так :
 

Код:
 
obj.value = obj.value.replace (new RegExp("\[ url=([\s\S]*?) \]","g"), "[ url=$1?play=fish \]")
 

 
тоже не катит
 
Добавлено:
о, заработала!!!

Всего записей: 193 | Зарегистр. 17-12-2010 | Отправлено: 13:13 24-09-2012 | Исправлено: Spy686, 13:25 24-09-2012
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Spy686
> не катит :-(
УМВР.
 
>>> var text = 'Lorem ipsum dolor [ url=http://example.org/index ]sit amet[ /url ], consectetur adipisicing elit, sed [ url=http://example.org/info/eiusmod ]do eiusmod[ /url ] tempor incididunt ut labore.'
undefined
>>> text.replace(/\[ url=(\S*) \]/g, '[ url=$1?play=fish ]')
"Lorem ipsum dolor [ url=http://example.org/index?play=fish ]sit amet[ /url ], consectetur adipisicing elit, sed [ url=http://example.org/info/eiusmod?play=fish ]do eiusmod[ /url ] tempor incididunt ut labore."


----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 13:33 24-09-2012
Spy686



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите регулярку замены всего текста при условии что есть слово:
 
например:
текст

Код:
 
 
[quote="Космонавт-теоретик"]
Цитата:
105237

Цитата:
Где вы, минчане и не только шоппингом занимаетесь?  

Чего это никто про Жданы еще не упомянул, ну вы чего?
fdgfdgfgTutTekstEst  gvbgbngf
вапавп TutTekstEst павпавп
Главное хорошо искать
 
 

 
весь заменить на TutTekstEst.
 
/.*TutTekstEst.*/gi срабатывает только на строку т.е. получаеться:

Код:
 
 
[quote="Космонавт-теоретик"]
Цитата:
105237

Цитата:
Где вы, минчане и не только шоппингом занимаетесь?  

Чего это никто про Жданы еще не упомянул, ну вы чего?
TutTekstEst
TutTekstEst
Главное хорошо искать
 
 

 
а надо что бы было:
 

Код:
TutTekstEst  

 
Или может есть вариант подсчитать количество совпадений ?

Всего записей: 193 | Зарегистр. 17-12-2010 | Отправлено: 18:40 06-10-2012 | Исправлено: Spy686, 18:41 06-10-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6

Компьютерный форум Ru.Board » Интернет » Web-программирование » javascript регулярные выражения


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru