Nano Hash - криптовалюты, майнинг, программирование

Запрещенные слова, но не если с большим количеством слов

Я нашел решение, чтобы запретить некоторые слова, если они введены в поле ввода. Проблема в том, что мне нужно запрещать их только тогда, когда кто-то использует их как одно слово, а не когда они вводятся с большим количеством слов.

Пример:

Если было введено %bannedword%, то должна появиться ОШИБКА, но если кто-то напишет

"%bannedword% wordnotbanned"

все должно быть помечено как правильное заполнение ввода, без какой-либо ОШИБКИ.

Что я должен сделать, чтобы все работало нормально?

Вот jQuery

$('#submit').click(function() {

var bannedWords = ["black", "white"],
regex = new RegExp('\\b' + bannedWords.join("\\b|\\b") + '\\b', 'i');
var zalvalid = !regex.test($('#zalmie').val().toLowerCase());

if(!zalvalid) {

    $('#zwynik').addClass("hover").html('<strong>ERROR:</strong>');
    $('#zalmie').focus();
    return false;

} else {

    $('#zwynik').addClass("hover").html('<strong>NICE ONE!</strong>');

}

});

и вот скрипт: http://jsfiddle.net/p16954wc/


  • "What i must do to everything works fine?" – Ну, для начала вы могли бы указать, каким образом это сейчас не работает. 22.09.2014
  • Почему вы, люди, опускаете этот вопрос? Если вы не знаете, как помочь, пожалуйста, не беспокойте. Что с тобой не так, @@David, у меня есть вопрос, поэтому я задаю. Что не так с этим вопросом? 22.09.2014
  • Когда Вы ввели запрещенное слово с другими словами, появляется ОШИБКА. Я хочу, чтобы в этом случае не появлялась ОШИБКА... ОШИБКА должна появляться только в том случае, если было введено одно запрещенное слово ||| черный - › ОШИБКА ; это черный - › ПРАВИЛЬНО ; белый черный - › ОШИБКА 22.09.2014
  • ХОРОШО. Я понимаю. Но список запрещенных слов будет длиннее. Поэтому мне нужен код, который позволит добавлять запрещенные слова, просто добавляя каждое новое в [черную, белую] часть кода. 22.09.2014

Ответы:


1

Я изменил массив Bannedwords, который будет использоваться для regExp. Вы также должны включить сценарий для обработки пробелов. Поэтому я добавил те в массив BannedWords.

$('#submit').click(function() {

    var bannedWords = ["black ", "white ", "black", "white"],
    regex = new RegExp('\\b' + bannedWords.join("\\b|\\b") + '\\b', 'i');
    var zalvalid = !regex.test($('#zalmie').val().toLowerCase());

if(!zalvalid) {
    $('#zwynik').addClass("hover").html('<strong>ERROR:</strong>');
    $('#zalmie').focus();
    return false;
    } else {
    $('#zwynik').addClass("hover").html('<strong>NICE ONE!</strong>');
    }

});

Вот ссылка на скрипку!

Раньше вы не могли справиться со сценарием, где: Пример: что-то черное. Итак, у вас должен быть regExp, который должен проверять «черный» и «белый».

Если ваш список запрещенных слов длинный, просто добавляйте дополнительный пробел после каждого слова.

Вы также можете автоматизировать создание массива banWord.

22.09.2014
  • Updated you code не является ответом, если людям приходится использовать инструмент сравнения, чтобы выяснить, что было изменено. Объясните, что было изменено и почему 22.09.2014
  • @charlietfl: да Конечно, Чарли, понял. Надеюсь теперь понятно :) 22.09.2014
  • @X9DESIGN: ты понял, брат. ?? 22.09.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..