答案 0 :(得分:6)
您可以使用多个|来构建正则表达式(管道)分隔词:
textfield.value = textfield.value.replace(/badword1|badword2|badwordn/gi , "" );
答案 1 :(得分:1)
最简单的方法(对我而言)可能是使用像jQuery这样的库来监视文本框上的按键。
<script
src="https://code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous"></script>
<textarea id="mytextArea" style="width:200px; height:300px"></textarea>
$(document).ready(function() {
$('#mytextArea').keyup(function() {
var textBoxValue = $(this).val();
console.log(textBoxValue);
var forbidden = [
'fuck',
'shit'
];
for(var i = 0; i < forbidden.length; i++) {
if(textBoxValue.search(forbidden[i]) > -1) {
textBoxValue = textBoxValue.replace(forbidden[i], '');
}
}
$(this).val(textBoxValue);
});
});
在这里试试https://jsfiddle.net/t1p27hv4/
显然你仍然需要考虑禁止阵列无法处理的'f uck'之类的东西,所以你的正则表达式方法可能是一个好主意,但希望这会让你开始。
此外,这可能已经完成了谷歌吧。