Я нашел решение, чтобы запретить некоторые слова, если они введены в поле ввода. Проблема в том, что мне нужно запрещать их только тогда, когда кто-то использует их как одно слово, а не когда они вводятся с большим количеством слов.
Пример:
Если было введено %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/
Updated you code
не является ответом, если людям приходится использовать инструмент сравнения, чтобы выяснить, что было изменено. Объясните, что было изменено и почему 22.09.2014