【问题标题】:Prevent user from entering certain word in textarea防止用户在 textarea 中输入某些单词
【发布时间】:2013-04-08 05:32:01
【问题描述】:

所以我有一个网站,我希望我的用户不能使用“.com”或“.net”等词。如果他们确实输入了它,那么我只想用空格替换它。到目前为止,如果用户要在文本区域中输入任何 html 代码,那么我有脚趾 javascript 代码,然后它将用空格替换它,如果他们要输入这些特定的单词,我希望同样发生。

function stoppedTyping(){
    if(this.value.length > 0) { 
        document.getElementById('post_btn').disabled = false; 
    } else { 
        document.getElementById('post_btn').disabled = true;
    }

    var re = /(<([^>]+)>)/gi;
    for (i=0; i < arguments.length; i++){
    arguments[i].value=arguments[i].value.replace(re, "");
    }
    var se = ".com";
    for(a=0; a < arguments.length; a++){
            arguments[a].value=arguments[a].value.replace(se, "");
    }
}

最后一个 var se.... 是我尝试替换这个词的尝试。但它不起作用。提前致谢!

【问题讨论】:

  • 改用.replace(/\.com/gi, "");
  • @SidCool 你怎么知道这个函数没有任何参数?这一切都取决于传递给它的内容。
  • @Ian 我的错。我的 Java 经验笼罩着我的逻辑。即使该方法不接受任何参数,我们也可以在运行时传递它们。你是对的。
  • @SidCool 没问题,只是想确保我们在同一个页面上 :) 我认为正确的说法是:这个函数有 0 个参数,但是显然可以有任意数量的参数(从技术上讲,就像任何 Javascript 函数一样)。

标签: javascript jquery html textarea


【解决方案1】:

对于实时替换,我会使用onkeyup 来监听用户何时完成按键。这是一个 JSFiddle 演示:http://jsfiddle.net/kLTq5/1/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-08
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    相关资源
    最近更新 更多