Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Антиспам (запрет англоязычных сообщений) (https://javascript.ru/forum/misc/84871-antispam-zapret-angloyazychnykh-soobshhenijj.html)

рони 23.01.2023 11:55

Ubivectel,
много элементов с этим классом -- исправил на id
замени на это и проверь
document.addEventListener("DOMContentLoaded", function() {
            let textarea = document.querySelector("#KIDE_txt");
            let reg = /[\w\s]{20,}/g;
            textarea.addEventListener("input", function() {
                reg.lastIndex = 0;
                if (reg.test(textarea.value)) textarea.value = 'чапаев и пустота'
            })
        })

рони 23.01.2023 12:01

Ubivectel,
обёртку на готовность страницы убери тогда, раз внутри jQuery(function () { используешь.
let textarea = document.querySelector("#KIDE_txt");
            let reg = /[\w\s]{20,}/g;
            textarea.addEventListener("input", function() {
                reg.lastIndex = 0;
                if (reg.test(textarea.value)) textarea.value = 'чапаев и пустота'
            })

Ubivectel 23.01.2023 12:08

Цитата:

Сообщение от рони (Сообщение 550213)
амени на это и проверь

Да, заработало, только я правильно понимаю, что сообщения все равно будут идти, но со значением указанным в textarea.value? )))))

Ubivectel 23.01.2023 12:10

Однако при вводе значение меняет, но боты все равно пишут ((((

Ubivectel 23.01.2023 12:15

Может все таки присваивать родителю "KIDE_msg_top" внутри которого спан с en class="hide" ?

рони 23.01.2023 12:35

Цитата:

Сообщение от Ubivectel
Может все таки присваивать родителю "KIDE_msg_top" внутри которого спан с en class="hide" ?

да, но надо знать что это за span))) класс или местоположение?

Ubivectel 23.01.2023 12:41

Так вот же:

<span class="KIDE_dc_guest KIDE_msg">Текст сообщения</span>


Он внутри еще одного спана без класса, а эээ... пролродитель:

<div id="KIDE_id_1000391" class="KIDE_msg_top">


который и нужно скрыть или удалить ) Как-то так вроде

рони 23.01.2023 12:44

Цитата:

Сообщение от Ubivectel
Как-то так вроде

вот именно вроде :(

Ubivectel 23.01.2023 12:50

Но ведь классы известны? Получить содержимое, и если там больше стольки-то en символов удалить содержащий его див с классом IDE_msg_top. Или я что-то не то говорю?

рони 23.01.2023 12:59

Цитата:

Сообщение от Ubivectel
Но ведь классы известны?

нет
Цитата:

Сообщение от Ubivectel
<span class="KIDE_dc_guest KIDE_msg">Текст сообщения</span>

этого класса не достаточно, поэтому вариант
перебор всех span внутри KIDE_msg_top
document.querySelectorAll(".KIDE_msg_top").forEach(msg => {
            for (let {
                    textContent
                } of msg.querySelectorAll("span"))
                if (/\w{12,}/g.test(textContent.replace(/\s+/g, ''))) {
                    msg.remove();
                    break;
                }
        })


но это заглушка только на момент входа в чат.


Часовой пояс GMT +3, время: 04:39.