使用jquery / javascript删除奇怪的字符

时间:2014-07-08 10:28:29

标签: javascript jquery

我有这个字符串‘Some string here’。我想从这个字符串中删除这些奇怪的字符(“—,“—)。我目前正在使用replace()函数,但它不会用空字符串替换它。下面是脚本。我该如何删除它?

  for (var i = 0, len = el.length; i < len; i++) {
      $(el[i]).text().replace("‘", "");
  }

5 个答案:

答案 0 :(得分:3)

你必须删除ascii值小于127

的元素
var input="‘Some string here’.";
var output = "";
    for (var i=0; i<input.length; i++) {
        if (input.charCodeAt(i) <= 127) {
            output += input.charAt(i);
        }
    }
 alert(output);//Some string here.

fiddle link

删除你的循环并尝试

$(el[i]).text().replace("‘","").replace("’","");

答案 1 :(得分:1)

那些奇怪的角色可能并不那么奇怪;它们很可能是character encoding problem的症状。猜测一下,它们smart quotes没有正确显示。

您应该更新您的页面,使其显示为UTF-8,而不是尝试将它们从文本中删除。在页眉中添加:

<meta charset="utf-8" />

那么为什么会这样呢?基本上,大多数字符编码对于“简单”文本是相同的 - 字母,数字,一些符号 - 但对于不太常见的字符(重音符号,其他字母表,不太常见的符号等)具有不同的表示。当您的浏览器获取文档而没有任何其字符编码的指示时,浏览器将进行猜测。有时它会弄错,你会看到奇怪的字符,而不是你所期望的。

答案 2 :(得分:0)

此代码适用于我:

"‘Some string here’".replace("‘","").replace("’","");

答案 3 :(得分:0)

为您的问题解决方案创建了fiddle

代码段:

var str = "‘Some string hereâ€";
str = str.replace("‘", "");
str = str.replace("â€", "");
alert(str);

答案 4 :(得分:0)

Test test1 = Test1.buildFromString(s);