Не работают регулярные выражения (решено).

Главные вкладки

Аватар пользователя bigbyben bigbyben 30 мая 2009 в 19:24

Привет всем! Может кто знает решение моей проблемы:
В функции проверки валидации задаю проверку поля формы по регулярному выражению такого вида:

<?php
function vacancy_validate($node, &$form){
    
//$form['vacancy_info']['town'] - только буквы
    
if(== preg_match('/^[а-я]+$/',$form['vacancy_info']['town']['#value'] )){
        
form_set_error('town''поле "'.$form['vacancy_info']['town']['#title']. '" может содержать только буквы');
    }
}
?>

В итоге, даже если я ввожу в поле "волгоград", то строка не соответствует шаблону.

что не так, как это исправить?

Комментарии

Аватар пользователя bigbyben bigbyben 30 мая 2009 в 21:40

Спасибо, я уже разобрался.
Косяк был в кодировке. Функция preg_match не поддерживает русский в кодировке utf-8
Я перевел шаблон и строку в кодировку cp1251 и всё заработало.

Аватар пользователя gumk gumk 21 ноября 2009 в 13:03

а как сделать чтобы можно было вводить только заглавные и строчные буквы (любых алфавитов или только английского и русского) и пробелы, символы _ - . , ! ? : ; ()