URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 3368
[ Назад ]

Исходное сообщение
"Регулярные выражения и кириллица.. Грустно"

Отправлено pikachu , 06-Июн-05 15:03 
Приветствую всех..

Я произвожу валидацию полей формы используя регулярные выражения..
Возникла проблема в том, что если пользователь заполняет поле кириллицей регулярные выражения не работают. При проверке с латиницей проблем не возникает ..

Если есть какой то способ решить данную проблему было бы здорово.Помогите кто знает

Сорри если вопрос делитанский.. Я perl программист а JS нада срочно и не корысти ради. Спасибо.


Содержание

Сообщения в этом обсуждении
"Регулярные выражения и кириллица.. Грустно"
Отправлено Solotony , 07-Июн-05 01:25 
может-быть locale не выставлен?

"Регулярные выражения и кириллица.. Грустно"
Отправлено pikachu , 07-Июн-05 09:11 
>может-быть locale не выставлен?

Я на perl регулярки хорошо знаю.. там и locale и все как у людей.. Тут блин даже не знаю где выставить.. В эхах писали, что \w это только латиница [a-zA-Z0-9].. Пробывал hex вариант, не катит.. даже /.*/ .. побоку для кириллицы..

Хлопцы.. помогите..

ЗЫ Насчет серверной части.. вопросов бы небыло. Но гос. компания и хотелки руководства.. шо делать? Напишите хоть какие нибуть способы валидации полей формы для кирилицы..

1. проверка поля на содержание букв \w+
2. букв + цифр \w+\d+
3. цифр \d+

Спасибо



"Регулярные выражения и кириллица.. Грустно"
Отправлено pikachu , 07-Июн-05 10:02 
>может-быть locale не выставлен?

Всем спасибо разобрался..

IMHO в JS если пользуются regexp и присутствует кириллица.. то
вместо сивольного класса \w нужно пользовать

\xHEX коды ASCII cp1251 (к примеру узято с http://vb.hut.ru/vbhelprus/asciitable.htm)

[\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEA\xEB\xEC\xED\xEE\xEF]*

Поменьшей мере хоть работает. Надеюсь кому то поможет.

RegExpы рулят! ;)


"Регулярные выражения и кириллица.. Грустно"
Отправлено romlog , 15-Авг-06 10:00 
сделал команду в линухе
$: locale

тебе высветились системные локали скопировал и вставил в функцию

setlocale(LC_ALL, 'ru_RU.CP1251');

и все будет 100% работать