Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверка данных
 
 автор: Agronom   (09.01.2006 в 19:33)   письмо автору
 
 

Здравствуйте друзья.

Помогите составить регуляторное выражение, которое проверяла бы переменную $name. Строка может состоять из русских, латинских символов, цифр и знака _ , все другие символы недопустимы.

   
 
 автор: Евгений Петров   (09.01.2006 в 19:46)   письмо автору
 
   для: Agronom   (09.01.2006 в 19:33)
 

Это элементарно:
<?
  $name 
"Строка_состоящая_из_русских_и_латинских_символов_цифр_и_знака _";
  if(
preg_match("^/[a-zа-я0-9_]+$/i",$name))
    echo 
"OK";
  else
    echo 
"Bad string";
?>

   
 
 автор: Agronom   (09.01.2006 в 19:54)   письмо автору
 
   для: Евгений Петров   (09.01.2006 в 19:46)
 

Я наверное не точно поставил вопрос. Если в переменной есть недопустимый символ(ы), то preg_match должно принимать значение истина.

   
 
 автор: Евгений Петров   (09.01.2006 в 20:11)   письмо автору
 
   для: Agronom   (09.01.2006 в 19:54)
 

<?
  $name 
"Строка_состоящая_из_русских_и_латинских_символов_цифр_и_знака _";
  if(!
preg_match("^/[a-zа-я0-9_]+$/i",$name))
    echo 
"Bad string"
  else
    echo 
"OK";
?>

   
 
 автор: Agronom   (09.01.2006 в 20:31)   письмо автору
 
   для: Евгений Петров   (09.01.2006 в 20:11)
 

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

   
 
 автор: cheops   (09.01.2006 в 22:27)   письмо автору
 
   для: Евгений Петров   (09.01.2006 в 20:11)
 

Только букву ё следует добавить и поменять местами ^ и /
<? 
  $name 
"Строка_состоящая_из_русских_и_латинских_символов_цифр_и_знака _"
  if(!
preg_match("/^[a-zа-яё0-9_]+$/i",$name)) 
    echo 
"Bad string"
  else 
    echo 
"OK"
?>

   
 
 автор: Agronom   (09.01.2006 в 22:35)   письмо автору
 
   для: cheops   (09.01.2006 в 22:27)
 

О, огромное спасибо, теперь работает!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования