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

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

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Корректность регулярный выражений

Сообщения:  [1-10]   [11-11] 

 
 автор: tima2010   (20.01.2012 в 23:32)   письмо автору
 
   для: Sfinks   (20.01.2012 в 23:18)
 

Большое спасибо! Все что я хотел знать.
По счет логики конечно Вы и остальные ответившие люди правы. Чтобы корректно контролировать вводимые данные, эти рег выражения не подходят.
Данную проверку делаю чтобы была и не пропускала лишние символы в sql запрос.

  Ответить  
 
 автор: Sfinks   (20.01.2012 в 23:18)   письмо автору
 
   для: tima2010   (20.01.2012 в 22:23)
 

символы корректно

  Ответить  
 
 автор: tima2010   (20.01.2012 в 22:23)   письмо автору
 
   для: Sfinks   (20.01.2012 в 21:55)
 

Спасибо, а сами рег выражения корректно проверяют символы от начала до конца строки?

  Ответить  
 
 автор: Sfinks   (20.01.2012 в 21:55)   письмо автору
 
   для: tima2010   (20.01.2012 в 21:16)
 

Я вам в предыдущем посте привел примеры строк, которые ваша проверка пропустит.
Теперь включаем логику. По моей логике это не корректные урл, телефон и дата. А по вашей?

Для проверки корректной урл тут много примеров уже было... Пошукайте по форуму. Вот наипростейшая, хоть как-то похожая на урл:
#^([a-z\d\-_]+\.)+[a-z]{2,5}$#i

Для проверки телефона, если вам хочется и скобки и пробелы нужно РВ усложнять. Но проще чтоб тупо вводили одни цифры и проверять функцией is_numeric().
Для проверки даты этого не достаточно.... Нужно еще разбить на 3 части по точкам и проверить функцией mktime()
Ну это по минимуму.

  Ответить  
 
 автор: tima2010   (20.01.2012 в 21:16)   письмо автору
 
   для: Sfinks   (20.01.2012 в 20:10)
 

хорошо, просто скажите пожалуйста корректно ли они написаны лишь для того чтобы введенные данные соответствовали правилам. При ответе на вопрос выключаем логику для чего и зачем.
спасибо!

  Ответить  
 
 автор: Sfinks   (20.01.2012 в 20:10)   письмо автору
 
   для: tima2010   (20.01.2012 в 10:28)
 

А сайт =H-T-T-P/:/:/#URL= вас устроит? Ваше РВ его пропустит.
А телефон (0(1(2)3)4) устроит?
А дата 99.99.9999?

  Ответить  
 
 автор: tima2010   (20.01.2012 в 19:53)   письмо автору
 
   для: Slo_Nik   (20.01.2012 в 19:21)
 

да это все для примера написал выше, интересует вообще регулярные выражения правильно прописаны?
проверка символов от начала и до конца строки или не правильно прописаны?

  Ответить  
 
 автор: Slo_Nik   (20.01.2012 в 19:21)   письмо автору
 
   для: tima2010   (20.01.2012 в 13:29)
 

1987-2000 + 1
Вот так Вы и без проверки не сможете записать в базу если у Вас тип поля DATETIME....
Будет ошибка при выполнении запроса

!Суп3р М@n!
А это может быть просто логином... Вы же не можете предугадать какие тараканы дохлые в голове у пользователя.... Идиотов много на просторах инета встречается...

  Ответить  
 
 автор: tima2010   (20.01.2012 в 13:29)   письмо автору
 
   для: cheops   (20.01.2012 в 13:20)
 

Цель - проверка вводимых данных во избежании некорректного отображения или попадания ненужных символов в sql запрос.

Критичность = Цель + Безопасность

будет не очень красиво если пользователь оставит о себе информацию:
Имя - !Суп3р М@n!
Сайт - Какой еще сайт? Зачем мне сайт? :D
Телефон - Nokia 3310
Дата рождения - 1987-2000 + 1 вот она 

  Ответить  
 
 автор: cheops   (20.01.2012 в 13:20)   письмо автору
 
   для: tima2010   (20.01.2012 в 10:28)
 

Довольно много зависит от ваших целей и насколько критичен неправильный ввод.

  Ответить  

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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