我一直在观看来自youtube的developphp家伙的教程.我想避免人们在我的文本区域写下坏词.
但是我想阻止他们写几个单词,不仅仅是一个,这个教程没有解释那个,我试图找到一个没有成功的方法,有人可以解释一下吗?
这是实际的javascript
HTML
<textarea class="ta" id="ta" name="ta" onkeyup="clean('ta')" onkeydown="clean('ta')" placeholder="A good word for a good word"></textarea>
Run Code Online (Sandbox Code Playgroud)
JAVASCRIPT
<script type="text/javascript">
function clean(el){
var textfield = document.getElementById(el);
var regex = /fuck/gi;
if(textfield.value.search(regex) > -1) {
textfield.value = textfield.value.replace(regex, "");
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
谢谢你们的时间!
一位同事问我关于正则表达式的问题,我似乎无法找到并回答他.
我们使用边界来突出显示文本编辑器中的某些文本长度,但是这里有一些示例代码可以显示问题:
<script type="text/javascript">
var str = "Alpha , Beta, Gamma Delta Epsilon, AAlphaa, Beta Alpha<br/>";
var rx = new RegExp('\bAlpha\b','gim');
document.write(str.replace(/\b(Alpha)\b/gim, '-- $1 --'));
document.write(str.replace(rx, '== $1 =='));
</script>
Run Code Online (Sandbox Code Playgroud)
问题是,第一个文字str.replace工作,但RegExp选项不起作用.
我在IE和FF中有相同的行为,有谁知道为什么?