1

在用户输入他们的内容后,我试图在 textarea 中进行字符串替换,但我没有尝试过任何工作。任何帮助将不胜感激。这就是我所在的位置:

<textarea id="field_id_29"></textarea>

$("#field_id_29").bind("change keyup input",function(){
     var text = $("#field_id_29").val();
     text = text.replace(/source/g,"www")
     $("#field_id_29").val(text);
});

我需要用 www 替换www - source

jsFiddle 在这里:http: //jsfiddle.net/6RNY2/

4

4 回答 4

11

试试这个,

$("#field_id_29").change(function(){
    var text = $(this).val();
    var regexp = /www-source/gi;
    if ( text.match(regexp) ){      
        text = text.replace(/www-source/g,"www");
        return $(this).val(text);
    }
    return false;
});

当字段更改时,我们获取值,将 if 与正则表达式进行比较,如果匹配,我们替换文本并完成,否则我们就返回。

于 2012-10-24T17:30:35.440 回答
2

jsfiddle

        $("#field_id_29").bind("change keyup input",function(){    
            this.value= this.value.replace(/www-source/g,"www");                 
        });
​

注意:函数内部 this 是 textarea 的引用,因此您可以直接使用 this.value 而不是使用 id 访问 textarea 值。

于 2012-10-24T17:29:42.233 回答
2

试试这个,

现场演示

[$("#field_id_29").bind("keyup", function() {
    var text = $(this).val();
    text = text.replace(/source/g, "www")
    $(this).val(text);
});​
于 2012-10-24T17:33:24.227 回答
1

您的代码有效,您只需要在 jsfiddle 中使用 jQuery 而不是 Mootools,可能也只需使用change事件,以便它仅在 textarea 更新后替换文本

于 2012-10-24T17:30:37.403 回答