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

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

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

 

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

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

тема: Ограниченный ввод символов - разрешить только буквы от А до Я и цифры от 0 до 9
 
 автор: Dazzl   (06.07.2011 в 11:28)   письмо автору
 
 

Люди какая команда или команды ограничивают ввод всяких _-"?№:;" скажим разрешить тока буквы от А до Я и цифры от 0 до 9

  Ответить  
 
 автор: cheops   (06.07.2011 в 11:58)   письмо автору
 
   для: Dazzl   (06.07.2011 в 11:28)
 

Можно воспользоваться регулярными выражениями, например, так (уберите \s, если не нужны пробельные символы)
<?php
  $text 
"скажим 0 9";
  
$pattern '#[^\s\dа-я]#is';
  if(
preg_match($pattern$text)) exit("Недопустимые символы");
  else echo 
"Все нормально";
?>

  Ответить  
 
 автор: Dazzl   (06.07.2011 в 13:04)   письмо автору
 
   для: cheops   (06.07.2011 в 11:58)
 

Спосибо!

  Ответить  
 
 автор: Dazzl   (06.07.2011 в 13:54)   письмо автору
 
   для: Dazzl   (06.07.2011 в 13:04)
 

ты вот этими символами '#[^\s\dа-я]#is' запретил ввод всех символов кроме букв и цифр??

  Ответить  
 
 автор: cheops   (06.07.2011 в 14:38)   письмо автору
 
   для: Dazzl   (06.07.2011 в 13:54)
 

Скажем так, я проверил есть ли в строке символы отличные от русских букв, цифр и пробельных символов, если хотя бы один символ есть - функция preg_match() вернет true, если их нет - false.

  Ответить  
 
 автор: Dazzl   (06.07.2011 в 14:47)   письмо автору
 
   для: cheops   (06.07.2011 в 14:38)
 

А английские буквы включить нельзя?

  Ответить  
 
 автор: cheops   (06.07.2011 в 15:33)   письмо автору
 
   для: Dazzl   (06.07.2011 в 14:47)
 

Можно, для этого поправьте регулярное выражение следующим образом
$pattern = '#[^\s\dа-яa-z]#is';

  Ответить  
 
 автор: Dazzl   (06.07.2011 в 15:49)   письмо автору
 
   для: cheops   (06.07.2011 в 15:33)
 

Спасибо!

  Ответить  
 
 автор: Dazzl   (12.07.2011 в 11:54)   письмо автору
 
   для: cheops   (06.07.2011 в 15:33)
 

А вы можете подправить это вырождение так что можно было вводить всё кроме ' ' " " \ / | ну короче все что определяет команды, всякие магические скобки кавычки, а все остальной безобидное чтоб можно было вводить типа + - _ и т.д.

учитывая что это дело будет фильтроваться htmlspecialchars и mysql_real_escape_string

  Ответить  
 
 автор: cheops   (12.07.2011 в 13:06)   письмо автору
 
   для: Dazzl   (12.07.2011 в 11:54)
 

$pattern = '#[^\'"\\/]#is';

PS Под новые вопросы лучше заводить новые темы

  Ответить  
 
 автор: Dazzl   (12.07.2011 в 13:09)   письмо автору
 
   для: cheops   (12.07.2011 в 13:06)
 

Хорошо, думал просто лишний раз не засорять вашу базу ))

  Ответить  
 
 автор: Dazzl   (12.07.2011 в 13:11)   письмо автору
 
   для: cheops   (12.07.2011 в 13:06)
 

Вы вообще всё кроме букв запретили (

  Ответить  
Rambler's Top100
вверх

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