Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   кирилица в регулярных выражениях (https://javascript.ru/forum/misc/10945-kirilica-v-regulyarnykh-vyrazheniyakh.html)

Ганж 30.07.2010 11:19

кирилица в регулярных выражениях
 
Возможно ли выловить "собака"|"сабака" в регулярке?
Нерадивые пользователи оставляют мыло не в тех полях формы :-/

DooMer 30.07.2010 11:28

возможно

Ганж 30.07.2010 11:32

а подсказку не дадите? :)

DooMer 30.07.2010 11:44

а можно уточнить задание ?
можно ведь русские слова с английскими буквами писать...

Ганж 30.07.2010 11:50

есть форма для заполнения профиля. Мыло они(пользователи) вписывают при регистрации, и в профиле соответственно такого поля нет, вот они и суют его в поля контактное лицо, сайт, телефон и т.д.
/[0-9a-z_]+@[0-9a-z_.]+.[a-z]{2,3}/i

такую регулярку использую для отлова мыла с "@", но некоторые пишут по-русски " собака".
Вот это мне и надо отлавливать...
Спасибо за внимание :thanks:

DooMer 30.07.2010 11:54

Смешно =)))
Нет смысла тестировать на определенные слова, просто зделай поиск на русские буквы [а-яА-Я] и если оные есть в введенном тексте выдавай ошибку

Ганж 30.07.2010 11:57

Думал об этом :) но не получится, ибо поля контактное лицо, Организация заполняются (в большинстве) русскими буквами :(

Ганж 30.07.2010 12:04

/[0-9a-z_]+\s*(@|собака)\s*[0-9a-z_.]+.[a-z]{2,3}/i


Прошу прощения за глупый вопрос :blink: не знал, что работает с кирилическими символами (во я лох :lol: )

DooMer 30.07.2010 12:15

var email = "vasiaсaбакаramler.ru";
var reg = new RegExp("(c|с)(о|o|a|a)(б)(a|а)(k|к)(a|а)");
if(reg.test(email.toLowerCase())){
	alert("Абшипка");
}

както так попробуй

Kolyaj 30.07.2010 12:22

Цитата:

Сообщение от DooMer
vasiaсaбакаramler.ru

Бред какой-то.

Ганж 30.07.2010 12:23

остановился на таком варианте
var reg_mail = /[0-9a-z_]+\s*(@|собака|сабака)\s*[0-9a-z_.]+.[a-z]{2,3}/i;

спасибо :)
P.S. не бред, ухватает ума и на такое)

DooMer 30.07.2010 12:38

Kolyaj,
в принципе согласен, просто расчет идет и на на то что пользователи могут вбить и латинскими буквами собаку

Kolyaj 30.07.2010 12:40

Цитата:

Сообщение от DooMer
просто расчет идет и на на то что пользователи могут вбить и латинскими буквами собаку

Я понимаю, делать защиту от дурака, но подстраиваться под дураков, как-то неправильно. Они ещё по испански собаку написать могут, и что?

subzey 30.07.2010 15:12

Ганж,
А не надо отлавливать. Пусть, юзвери учатся на своих ошибках, а то скоро придется права на интернет выдавать как на вождение.

Это злобный пост

Ганж 30.07.2010 15:42

subzey,
Все верно, но... это мне же и надо :) чтобы они общались не напрямую друг с другом, а через сайт. А то некоторые найдут поставщиков и не появляются по полгода :-/

Kolyaj 30.07.2010 15:45

Значит они найдут способ оставить координаты, не волнуйтесь :)

Ганж 30.07.2010 15:49

через личку на сайте - пожалуйста :) но все же правила есть правила ;)

Kolyaj 30.07.2010 15:53

Для того, чтобы люди общались не напрямую друг с другом, а через ваш сайт, нужно сделать так, чтобы им было удобней через ваш сайт общаться, а не напрямую. А не запреты вводить.

Это всё равно, что на месте проторенной тропинки газон разбить и запретить по нему ходить. Всё равно будут ходить, потому что там удобнее. Можно, конечно, забор поставить, тогда люди ходить по газону не будут, но и радоваться ему они тоже не будут.

Ганж 30.07.2010 15:58

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

x-yuri 30.07.2010 21:09

сделай страничку со списком подозрительных профилей, чтобы сразу были видны нужные поля. Весь список по умолчанию выбран. Модератор может убрать галочки с ненужных пунктов. Внизу большая красная кнопка Забанить Исправить профили. Как-то так. Уведомление еще им неплохо бы какое-то отправить

abc_ua 26.12.2012 22:35

Здравствуйте,
по мотивам этой статьи http://habrahabr.ru/post/163467/ решил поупражняться, но столкнулся с проблемой: не работает регулярка с кирилицей(ссылка на репозиторий, ссылка на пример), хотя при парсинге обычной строки все ок.

рони 27.12.2012 01:34

abc_ua,
кодировки не совпадают страницы и текста плюс буквы ё нет в RegExp

abc_ua 27.12.2012 01:58

рони,
спасибо, помогло!


Часовой пояс GMT +3, время: 05:16.