Вам не нужно сопоставлять шаблон с каждым символом, который вы можете просто сопоставить со строкой, и вы можете просто вернуть совпадение для любого символа, кроме A-z или 0-9. Метод сопоставления regexp возвращает объект, если он находит совпадение, и ноль, если ничего не найдено, поэтому в этом случае, чтобы превратить его в логическое значение, просто добавив! добавить с !!.
function jsValidationAndSanitization() {
/**
Validate and sanitize every input that comes from an HTML form.
@return boolean
**/
var submittedInput = document.forms["form"]["search_input"].value;
if (submittedInput == "") {
console.log("error: empty input");
return false;
}
if (submittedInput != "") {
// non-admitted chars ( black list )
var wl_pattern = /[^A-z0-9]+/;
var result = submittedInput.match(wl_pattern);
if (result) { console.log(result); }
return !result;
}
return false; // Catch all to return false
}