Перейти к контенту
  • 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

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

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

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

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

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

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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