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

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

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

 

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

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

тема: Проверка поля
 
 автор: serjinio   (16.01.2009 в 00:00)   письмо автору
 
 

вот навоял регулярку для проверки поля формы
только буквы русские и англ ,цифры пробел ,подчеркивание и длиной больше 3 и меньше 15 мимволов
<?
if (!preg_match("/^[0-9a-zA-Zа-яА-ЯЁё_\s]{3,15}$/u",$n))$err.='Поле "Логин" заполнено не корректно!<br/>';

но что-то мне не совсем нравится как она работает в кодировке utf-8
спецы,подправьте код плиз...

  Ответить  
 
 автор: AcidTrash   (16.01.2009 в 21:59)   письмо автору
 
   для: serjinio   (16.01.2009 в 00:00)
 

>но что-то мне не совсем нравится как она работает в кодировке utf-8
Что конкретно не нравится?

  Ответить  
 
 автор: serjinio   (17.01.2009 в 13:18)   письмо автору
 
   для: AcidTrash   (16.01.2009 в 21:59)
 

Проскальзывают
<


<<fake>script>alert('hi')</</fake>script>

  Ответить  
 
 автор: xx7   (16.01.2009 в 22:01)
 
   для: serjinio   (16.01.2009 в 00:00)
 

у некоторых работает :)
<?php 
header
('content-type:text/html; charset=utf-8');
$reg "/^[0-9A-Z_a-zЁА-ё]{3,15}$/u";
$err '';
if (!
preg_match($reg,'000')
|| !
preg_match($reg,'яюэ')
|| !
preg_match($reg,'абвгдеёжз')
|| !
preg_match($reg,'ийклмнопрст')
|| !
preg_match($reg,'уфхцчшщьЫъОПРСТ')
|| !
preg_match($reg,'АБВГДЕЁЖЗИЙКЛМН')
|| !
preg_match($reg,'ЧШЩЬЫЪЭЮЯУФХЦ')
|| !
preg_match($reg,'111111111111111')
)
echo 
$err.='Поле "Логин" заполнено не корректно!<br/>';

else echo 
'нормально';
?>

Сам код скрипта в котором присутствует это выражение сделан в кодировке utf-8 ?

  Ответить  
 
 автор: xx7   (16.01.2009 в 22:04)
 
   для: serjinio   (16.01.2009 в 00:00)
 

пробелы не стал добавлять , так-как не очень можно будет отличить пользователей с логинами три пробела и 15 пробелов

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

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