myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 

> Запрет символов в никах и цифровых ников, Запрет символов в никах и цифровых ников

Рейтинг 5 V
Теги
Нет тегов для показа
DrakonSP
сообщение 17.2.2010, 0:23
Сообщение #21


Продвинутый участник
****

Группа: Пользователи
Сообщений: 107
Регистрация: 23.11.2008
Из: Сергиев Посад
Пользователь №: 1 178
Спасибо сказали: 9 раз




В общем я маленько въехал, но это всё равно для меня очень сложно.
Я понял, что там где можно обойтись без этих скобок лучше их опускать.
Но в моём случае они нужны, потому что захват не являеться постояным, а заключён в переменную.
Так?
Добавил скобки всё работает! byebye.gif
Скрипт можно перести в готовые...
Прикрепленный файл  Disallow.lua ( 560 байт ) Кол-во скачиваний: 48

Функции скрипта

-- Запрет символов в никах
-- Заперет ников состоящих только из цифр
Go to the top of the page
+Quote Post
2 страниц V  < 1 2  
Начать новую тему
Ответов
Setuper
сообщение 17.2.2010, 0:29
Сообщение #22


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Код
if tUser.sNick:find(""..sbansymbol.."") then

это очень дурная привычка так писать!!! Вы даже не представляете насколько это вредно. Нужно всеми способами избавляться от лишних конкатенаций, а тут наоборот делают.
Почему не написать так:
Код
if tUser.sNick:find(sbansymbol) then
зачем делать лишнюю конкатенацию? Эту привычку надо искоренять! Не пойму, кто вас научил делать эту лишнюю конкатенацию? Ведь никто из скриптописателей данного форума так не пишет.


Спасибо сказали:
Go to the top of the page
+Quote Post
DrakonSP
сообщение 17.2.2010, 0:33
Сообщение #23


Продвинутый участник
****

Группа: Пользователи
Сообщений: 107
Регистрация: 23.11.2008
Из: Сергиев Посад
Пользователь №: 1 178
Спасибо сказали: 9 раз




Простите я не знал baffle.gif
Теперь знаю Спасибо byebye.gif
Go to the top of the page
+Quote Post
DrakonSP
сообщение 21.2.2010, 23:34
Сообщение #24


Продвинутый участник
****

Группа: Пользователи
Сообщений: 107
Регистрация: 23.11.2008
Из: Сергиев Посад
Пользователь №: 1 178
Спасибо сказали: 9 раз




Кто-нибудь может подсказать, в чём прикол?
Следующий код запрещает ники состоящие только из цифр
Код
    if tUser.sNick:find"^%d+$" then
        Core.SendToUser(tUser,"*** Ники состоящие только из цифр запрещены!")
        Core.Disconnect(tUser)
    end

Логически рассуждая можно запретить ники состоящие например из символа -
Следующим образом
Код
    if tUser.sNick:find"^%-$" then
        Core.SendToUser(tUser,"*** Ники состоящие только из символов запрещены!")
        Core.Disconnect(tUser)
    end

Символ - заэкранирован, и всё равно не работает
Почему?
Go to the top of the page
+Quote Post
Setuper
сообщение 21.2.2010, 23:49
Сообщение #25


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Потому что такое регулярное выражение ловит только один символ -, то есть ник, состоящий только из одного этого символа.
Нужно чтобы ловился один и более, для этого нужно поставить плюсик:
Код
if tUser.sNick:find"^%-+$" then


Ведь если бы мы в предыдущем примере не поставили плюсик:
Код
if tUser.sNick:find"^%d$" then
то ловилась бы тоже одна цифра, а не любое число.


Спасибо сказали:
Go to the top of the page
+Quote Post
DrakonSP
сообщение 22.2.2010, 0:04
Сообщение #26


Продвинутый участник
****

Группа: Пользователи
Сообщений: 107
Регистрация: 23.11.2008
Из: Сергиев Посад
Пользователь №: 1 178
Спасибо сказали: 9 раз




Не могу удержаться и спросить ещё кое что byebye.gif
Таким образом, что бы запретить ники состоящие только из - или . или z
Ну вообщем не важно какие это будут символы
Приходиться делать так:
Раскрывающийся текст
Код
    if tUser.sNick:find"^%-+$" then
        Core.SendToUser(tUser,"*** Ники состоящие только из символов запрещены!")
        Core.Disconnect(tUser)
    end
    if tUser.sNick:find"^z+$" then
        Core.SendToUser(tUser,"*** Ники состоящие только из одной и той же буквы запрещены!")
        Core.Disconnect(tUser)
    end

Мне интересно узнать... Можно ли как то упростить код?
Чтобы просто добавлять символы в
Код
tUser.sNick:find"^z+$"
Go to the top of the page
+Quote Post
Nickolya
сообщение 22.2.2010, 0:07
Сообщение #27


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




По-моему так:
Код
tUser.sNick:find"^([%-z])%1*$"
Go to the top of the page
+Quote Post
DrakonSP
сообщение 22.2.2010, 0:11
Сообщение #28


Продвинутый участник
****

Группа: Пользователи
Сообщений: 107
Регистрация: 23.11.2008
Из: Сергиев Посад
Пользователь №: 1 178
Спасибо сказали: 9 раз




Нет не фурычит
Go to the top of the page
+Quote Post
Setuper
сообщение 22.2.2010, 12:21
Сообщение #29


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Регулярные выражения в Lua не столь разнообразны, как регулярные выражения пёрла. Поэтому не всё возможно сделать big_smile.gif
Go to the top of the page
+Quote Post
sphinx
сообщение 22.2.2010, 17:17
Сообщение #30


Активный участник
***

Группа: Заблокированные
Сообщений: 87
Регистрация: 16.10.2008
Пользователь №: 805
Спасибо сказали: 35 раз




Код
   if tUser.sNick:match("^[%-]+$") or tUser.sNick:match("^[%.]+$") or tUser.sNick:match("^[z]+$") then


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 22.2.2010, 17:58
Сообщение #31


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Тогда уж без квадратных скобок и с использованием find, а не match
Код
local sNick = tUser.sNick
if sNick:find"^%-+$" or sNick:find"^%.+$" or sNick:find"^z+$" then


Спасибо сказали:
Go to the top of the page
+Quote Post

2 страниц V  < 1 2
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Зависание ников в списке юзеров
2 мамин_парень 5 582 4.9.2017, 19:38 Посл. сообщение: мамин_парень
No new Topic has attachmentsАнтитор, API2 | Запрет Tor
14 KCAHDEP 15 616 21.8.2016, 1:10 Посл. сообщение: 000000
No New Posts Запрет наказаний админов (ОПов) в одинаковых рангах
Банит один мастер другова
2 AndreiDC 5 356 31.10.2014, 20:30 Посл. сообщение: Артём
No New Posts Запрет на скачивания у интернет пользователей
Как запретить что бы пользователи с интерента не могли искать и скачив
1 reidel_viktor 6 818 12.1.2013, 16:19 Посл. сообщение: Артём
No New Posts Запрет на распространение
10 ke(x)one 11 523 31.8.2012, 14:56 Посл. сообщение: ANDRBEST
No New Posts RusHub: Запрет неразрывного пробела
rushub
11 ShadoWx 13 136 26.1.2012, 22:20 Посл. сообщение: Ksan
No New Posts Запрет перенаправления
0 ShadoWx 6 064 26.1.2012, 16:21 Посл. сообщение: ShadoWx
No New Posts Topic has attachmentsЗапрет поиска
определенныхслов\выражений
7 WINS 9 357 8.11.2011, 10:56 Посл. сообщение: WINS
No new Topic has attachmentsAntiproxy , Api2 | Запрет На Вход Юзеров С Прокси
API2 | по просьбам трудящихся ...
33 KauH™ 53 736 13.2.2011, 23:05 Посл. сообщение: absent
No New Posts antiproxy: запрет на прокси
API2
12 sphinx 19 627 12.2.2011, 22:21 Посл. сообщение: AirKobra45
No new Topic has attachmentsСкрипт запрета в никах заглавных букв
24 thehawk 28 460 20.8.2010, 14:21 Посл. сообщение: Alexey
No New Posts Topic has attachmentsЗапрет чата для всех кроме випов опов и админов
АПИ 2 версия 0.4.1.2
7 Vizunchik 11 917 4.8.2010, 15:36 Посл. сообщение: WINS
No New Posts Topic has attachmentsЗапрет пустого сообщения
API 2
4 WINS 7 723 20.7.2010, 15:20 Посл. сообщение: WINS
No new Topic has attachmentsПроверка ников на запретные слова
verlihub
21 Vizunchik 21 869 17.6.2010, 21:40 Посл. сообщение: Nickolya
No New Posts Topic has attachmentsЗапрет снятия банов, поставленных другими людьми
9 X-Sky 13 999 8.6.2010, 19:28 Посл. сообщение: Nickolya

 



RSS Сейчас: 18.4.2024, 21:57