我正在尝试在用户输入内容后在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-source 替换为 www 。
jsFiddle在这里:http://jsfiddle.net/6RNY2/
答案 0 :(得分: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;
});
当字段更改时,我们获取值,比较是否与正则表达式相比,如果我们有匹配,我们替换文本,我们就完成了,否则我们只是返回。
答案 1 :(得分:2)
$("#field_id_29").bind("change keyup input",function(){
this.value= this.value.replace(/www-source/g,"www");
});
注意:在函数内部这是textarea的引用,因此您直接使用this.value而不是使用id访问textarea值。
答案 2 :(得分:2)
试试这个,
<强> Live Demo 强>
[$("#field_id_29").bind("keyup", function() {
var text = $(this).val();
text = text.replace(/source/g, "www")
$(this).val(text);
});
答案 3 :(得分:1)
您的代码有效,您只需要在jsfiddle中使用jQuery而不是Mootools,也可能只使用更改事件,以便仅在textarea更新后才替换文本