Привет всем! Может кто знает решение моей проблемы:
В функции проверки валидации задаю проверку поля формы по регулярному выражению такого вида:
<?php
function vacancy_validate($node, &$form){
//$form['vacancy_info']['town'] - только буквы
if(0 == preg_match('/^[а-я]+$/',$form['vacancy_info']['town']['#value'] )){
form_set_error('town', 'поле "'.$form['vacancy_info']['town']['#title']. '" может содержать только буквы');
}
}
?>
В итоге, даже если я ввожу в поле "волгоград", то строка не соответствует шаблону.
что не так, как это исправить?
Комментарии
/^[а-я]+$/U
а так?
Спасибо, я уже разобрался.
Косяк был в кодировке. Функция preg_match не поддерживает русский в кодировке utf-8
Я перевел шаблон и строку в кодировку cp1251 и всё заработало.
а как сделать чтобы можно было вводить только заглавные и строчные буквы (любых алфавитов или только английского и русского) и пробелы, символы _ - . , ! ? : ; ()