我目前正在使用带有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本身。
答案 0 :(得分:0)
// replace pound string by empty string
var mystr = '£';
mystr = mystr.replace(/£/g,'poundsign');
alert(mystr);
答案 1 :(得分:0)
感谢@David Guan提供的链接,让我走上了正确的轨道,并感谢其他所有评论。
当我在.replace调用中使用Unicode编号而不是字符时,问题得到了解决,然后它能够正确匹配£符号而不插入Â。