【问题标题】:Finding multiple characters and replacing with JQuery查找多个字符并用 JQuery 替换
【发布时间】:2012-02-15 09:26:09
【问题描述】:

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

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

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

谁能指出我正确的方向?

谢谢

【问题讨论】:

标签: javascript jquery regex


【解决方案1】:

您不必一次性调用.replace(),只需链接多个.replace() 调用即可:

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

(如果您需要的话,也可以替换为 '&amp;#39;''&amp;apos;'...)

【讨论】:

  • 这是正确的!没想到会这么简单!
  • 另外,谁能告诉我为什么我原来的 replace() 可能会导致它用“”替换“0”...
【解决方案2】:

我同意 nnnnnn 的观点,尽管您可以使用 or | 正则表达式运算符并使用如下回调,但您不必一次性完成所有操作,请参阅 mdn regex 了解更多详情

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

【讨论】:

    【解决方案3】:

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

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

    (在此处查看我的小提琴:fiddle

    【讨论】:

      【解决方案4】:

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

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

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

      【讨论】:

        【解决方案5】:

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

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

        【讨论】:

          【解决方案6】:

          你可以创建函数递归

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

          谢谢

          【讨论】:

          • 正则表达式中的g标志意味着所有出现的模式都会被替换,你不需要添加循环。
          猜你喜欢
          • 2014-02-26
          • 2013-07-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-02-18
          • 2013-05-17
          • 2015-04-21
          • 1970-01-01
          相关资源
          最近更新 更多