Приветствую всех..Я произвожу валидацию полей формы используя регулярные выражения..
Возникла проблема в том, что если пользователь заполняет поле кириллицей регулярные выражения не работают. При проверке с латиницей проблем не возникает ..Если есть какой то способ решить данную проблему было бы здорово.Помогите кто знает
Сорри если вопрос делитанский.. Я perl программист а JS нада срочно и не корысти ради. Спасибо.
может-быть locale не выставлен?
>может-быть locale не выставлен?Я на perl регулярки хорошо знаю.. там и locale и все как у людей.. Тут блин даже не знаю где выставить.. В эхах писали, что \w это только латиница [a-zA-Z0-9].. Пробывал hex вариант, не катит.. даже /.*/ .. побоку для кириллицы..
Хлопцы.. помогите..
ЗЫ Насчет серверной части.. вопросов бы небыло. Но гос. компания и хотелки руководства.. шо делать? Напишите хоть какие нибуть способы валидации полей формы для кирилицы..
1. проверка поля на содержание букв \w+
2. букв + цифр \w+\d+
3. цифр \d+Спасибо
>может-быть 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ы рулят! ;)
сделал команду в линухе
$: localeтебе высветились системные локали скопировал и вставил в функцию
setlocale(LC_ALL, 'ru_RU.CP1251');
и все будет 100% работать