查找多个字符并替换为JQuery

时间:2012-02-15 09:26:09

标签: javascript jquery regex

我有以下JQuery AJAX调用,它将HTML表单数据发送到我的服务器端脚本来处理。但是我现在找到换行符并将它们转换为<br />以便在我的应用程序的另一部分中显示。我现在需要确保我正在删除撇号但是我对如何一次性替换多个字符没有信心。

这是我在将此添加到我的AJAX之前使用的JQuery。

description = $("#description").val().replace(/\n/g, '<br />');

有人能指出我正确的方向吗?

由于

6 个答案:

答案 0 :(得分:15)

您只需一次拨打.replace()即可一次性完成此操作,只需链接多个.replace()来电:

description = $("#description").val().replace(/\n/g, '<br />')
                                     .replace(/'/g, '');

(如果您需要,则替换为'&#39;''&apos;'。)

答案 1 :(得分:2)

我同意nnnnnn您不必一次性完成所有操作虽然您可以使用或|正则表达式运算符并使用如下所示的回调,有关详细信息,请参阅mdn regex < / p>

var foo = '"there are only 10 people in this world that understand binary, 
            \n those who can and those who can\'t"\n some joke';

foo = foo.replace(/\n|"/g, function(str) {
  if (str == '\n') {
    return '<br/>';
  } else {
    return '';
  }
});

document.write(foo);

这是一个demo

答案 2 :(得分:2)

你可以使用| (管道)包含要替换的多个字符:

str = str.replace(/X|x/g, '');

(请参阅我的小提琴:fiddle

答案 3 :(得分:1)

.serialize()方法使用encodeURIComponent对表单中的所有字段进行编码,这样您就不必手动转义字符串。

如果它不在表格中,请使用:

description = encodeURIComponent($("#description").val());

答案 4 :(得分:0)

试试这个 将您的值放在变量中并替换。

 $(function () {
            var s = "str";
            var t = "nw str";
            alert(s.replace(s, t));
        });

答案 5 :(得分:0)

你可以创建函数递归

function replaceBr(){
  var val = $("#description").val();    
  while (val !=(val = val.replace(/\n/g, '<br />')));
  return val;
}

THX