Перейти к контенту
  • 0

Запрет на использование некоторых символов в нике при регистрации


homa

Вопрос

Порыл в "Поиске" — ничего по теме не нашёл. Кто-нибудь может подсказать, как запретить использовать в никах при регистрации символы * ( ) ! и некоторые другие?
Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

 

Спасибо. Но я читал эту тему. Она касается запрета на использование в никах РАЗНЫХ символов — имеется в виду комбинирование кириллицы и латиницы (т. е. только либо одно, либо другое). И я себе это тоже сделал — теперь латиницу и кириллицу смешивать нельзя. А сейчас стоит задача запретить в никах при регистрации кавычки, звёздочки и т. п. знаки. Решения пока не найду...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Register.php

Найти:

		if (empty($in_username))
	{
		$this->show_reg_form('err_no_username');
		return;
	}

Ниже добавить:

		if(preg_match( "/*|@|$|%/", $in_username ))
	{
		$this->show_reg_form('err_symbol_in_username');
		return;
	}

 

lang_register.php

Найти

''err_no_username'  => "Необходимо ввести имя пользователя от 3 до 32 символов",

Ниже добавить:

'err_symbol_in_username'  => "Имя содержит недопустимые символы",

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Сделал. Не работает. Регистрация всё равно проходит. На странице, которая открывается после нажатия кнопки "Зарегистрироваться", пишет: "Спасибо, xxxxx*. Запрос на регистрацию принят". А в самом верху этой страницы выскакивает ошибка MySQL:

 

Warning: preg_match() [function.preg-match]: Compilation failed: nothing to repeat at offset 0 in /var/www/my_site/data/www/my_site/forum/sources/Register.php on line 777

 

 

Строка 777 — это

 

if(preg_match( "/*|@|$|%/", $in_username ))

Что-то в ней не так, видимо.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Пробую так

 

if(preg_match( "/*/|@|%/", $in_username ))

 

Пишет: Warning: preg_match() [function.preg-match]: Unknown modifier '|' in /var/www/xxx/data/www/xxxx/forum/sources/Register.php on line 777

 

 

Если так

 

if(preg_match( "/*/@/%/", $in_username ))

 

то: Пишет: Warning: preg_match() [function.preg-match]: Unknown modifier '@' in /var/www/xxx/data/www/xxxx/forum/sources/Register.php on line 777

 

 

Пробовал даже так

 

if(preg_match( "/*@%/", $in_username ))

 

пишет: Warning: preg_match() [function.preg-match]: Compilation failed: nothing to repeat at offset 0 in /var/www/xxx/data/www/xxxx/forum/sources/Register.php on line 777

 

:D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

if(preg_match( "/\*|@|%/", $in_username ))

Так работает.

 

if(preg_match( "/\*|@|\$|%/", $in_username ))

Так тоже работает, но $ все равно пропускает... Не понимаю...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Во, так работает. Спасибо!

 

Только я принцип добавления других знаков не понял. Вот мне ещё надо запретить в никах круглые, квадратные и фигурные скобки, а так же знаки восклицания, вопроса, двоеточие, запятые, ^, №. Как их туда прописать? Перед каждым знаком обратный слеш \ вписать (кстати, а сами слешы как запретить?) ? Или прямыми разделителями отбивать | ?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

"/ - это начало перечисления символов.

/" - конец перечисления.

Через прямые разделители перечисляем те символы, которые хотим запретить.

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

Я не силен в регулярках, поэтому делаю методом проб и ошибок.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.