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

Запретить регистрацию цифровых ников


L0ader

Вопрос

Подскажите пожалуйста как запретить пользователям регистрироваться под цифровыми никами? Если я запрещу цифры в символах ника - невозможно будет создать буквенно-цифровой ник. Просто задолбали ники 495 666 и тому подобные.
Ссылка на комментарий
Поделиться на других сайтах

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

  • 0

В файле admin/sources/classes/member/memberFunctions.php

 

перед строками:

	//-----------------------------------------
	// Blocking certain chars in username?
	//-----------------------------------------

	if( ipsRegistry::$settings['username_characters'] )
	{
		$check_against = preg_quote( ipsRegistry::$settings['username_characters'], "/" );
		$check_against = str_replace( '\-', '-', $check_against ); // Fix for bug #20998

		if( !preg_match( "/^[" . $check_against . "]+$/i", $name ) )
		{
			return array( 'name' => $original, 'errors' => array( str_replace( '{chars}', ipsRegistry::$settings['username_characters'], ipsRegistry::$settings['username_errormsg'] ) ) );
		}
	}

 

добавить что-то вроде:

		if( preg_match( "/^[0-9\s]+$/i", $name ) )
		{
			return array( 'name' => $original, 'errors' => array( 'Имя пользователя должно быть осмысленным' ) );
		}

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

  • 0

if( preg_match( "/^[0-9\s]+$/i", $name ) )

Ох любите вы регулярки...

Я уже забодался пост_парсер на substr() и strpost() переписывать, чтобы ресурсы не жрал как прорву...

 

if( $name === "".intval($name) )

съест на 3 порядка меньше ресурсов. В данном конкретном случае это мелочь, но сам принцип избегания регулярок там, где есть более быстрые операторы, желательно соблюдать везде.

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

  • 0

Регулярка сделана, что бы не пропускать ники "890 0990"

Если захотят обойти - эту регулярку обойдут с легкостью. Например пробел сделают шпацией: 160-м кодом.

Демонстрация:

          Строка после 10 шпаций.

                    Строка после 20 шпаций.

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

  • 0

Куда ее вставить чтобы внести этот запрет в другое поле (дополнительное поле профиля)?

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

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

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

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

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

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

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

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

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

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

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

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

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