使用javascript替换html textarea中的£字符

时间:2016-05-04 10:29:18

标签: javascript html

我目前正在使用带有JavaScript的html开发一个简单的Web应用程序,我正在尝试对从html文本区域收到的字符串执行简单的string.replace调用,如此;

var contents = document.getElementById("contents").value;
var alteredText = contents.replace(/£/g, "poundsign");

问题是当字符串中包含£符号时,替换调用无法找到它。我通过控制台查看了代码,似乎任何时候JavaScript中都有一个$符号,它会在£符号上添加一个“”,所以

string.replace(/£/g, "poundsign");

因为它在js文件中写入,在运行时变为以下内容:

string.replace(/£/g, "poundsign");

虽然var内容中的£仍然只是£(将££放入textarea会导致替换调用正常工作)。有没有办法阻止在js文件中添加,或者在调用.replace之前将其添加到html文件中?

就我所见,在js文件中出现的任何时候都会添加Â,并且我无法让它与html匹配而没有用户将h添加到html本身。

2 个答案:

答案 0 :(得分:0)

   // replace pound string by empty string
   var mystr = '£';
   mystr = mystr.replace(/£/g,'poundsign');
   alert(mystr);

答案 1 :(得分:0)

感谢@David Guan提供的链接,让我走上了正确的轨道,并感谢其他所有评论。

当我在.replace调用中使用Unicode编号而不是字符时,问题得到了解决,然后它能够​​正确匹配£符号而不插入Â。