2014-09-30 3 views
-2

У меня есть контактная форма на моем сайте. Subject - текстовое поле в этой форме. Я хочу ограничить пользователей типом определенных слов в этом поле.Как ограничить определенные слова в текстовом поле с помощью javascript?

Например, пользовательский тип XXX или MMM в поле темы, нам нужно показать сообщение об ошибке.

+1

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

ответ

0

Дано:

HTML:

<input id='text'></input> 

Вы можете сделать это:

JS:

document.getElementById('text').addEventListener('keyup', function(e) { 
    var text = document.getElementById('text').value; 
    if (text.search('MMM') !== -1) { 
     alert('MMM is not allowed!'); 
    } 
    if (text.search('XXX') !== -1) { 
     alert('XXX is not allowed!'); 
    } 
    text = text.replace(/MMM/g,''); 
    text = text.replace(/XXX/g,''); 
    document.getElementById('text').value = text; 
},false); 

DEMO

ИЛИ т его:

JS:

var banned = ['MMM','XXX']; 
document.getElementById('text').addEventListener('keyup', function(e) { 
    var text = document.getElementById('text').value; 
    for (var x=0;x<banned.length;x++) { 
     if (text.search(banned[x]) !== -1) { 
      alert(banned[x]+' is not allowed!'); 
     } 
     var regExp = new RegExp(banned[x]); 
     text = text.replace(regExp,''); 
    } 
    document.getElementById('text').value = text; 
},false); 

DEMO

Однако, вы также должны дезинфицировать эти формы ответов на сервере. Любой клиентский код можно обойти.

+0

Спасибо! Оно работает.. – vishnu