2016-05-04 12 views
0

私は現在、JavaScriptを使用してhtmlを使用する単純なWebアプリケーションを開発していますが、HTMLのtextareaから受け取った文字列に対して単純なstring.replace呼び出しを行います。javascriptを使用してhtml textareaの£文字を置き換えます。

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

問題は、文字列に£記号が含まれている場合、置換呼び出しはそれを見つけることができないということです。私は、コンソールを経由して、コードを見たのだが、それは£シンボルに「A」を追加し、いつでもJavaScriptで$記号があることと思われるので、それはJSファイルに書かれたよう

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

はなり

varの内容は、£がそのまま残ります(テキストエリアに£を入れておくと、置換呼び出しが正しく機能します)。 .replaceが呼び出される前にjsファイルに追加されているファイルを停止するか、htmlファイルに追加する方法はありますか?

Âは私が見る限り、jsファイルに表示されるたびに追加されます。ユーザーがHTMLを追加しなくても、htmlと一致するようにすることはできませんでした。

+0

string.replace(/£/ g、 "poundsign");変数var_string.replaceをターゲットにしていますか?なぜあなたは "/£/ g"をやっているのですか "£"だけではないのですか?正規表現は必要ありませんか? – Riddell

+1

このリンクを確認できますか? http://stackoverflow.com/questions/280712/javascript-unicode-regexes –

+0

可能なdup? http://stackoverflow.com/questions/4382518/why-cant-i-display-a-pound-%C2%A3-symbol-in-html – ste2425

答えて

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

リンクのための@David Guanのおかげで、私は適切なトラックに、そして他の誰もがコメントしました。

文字ではなく.replace呼び出しでUnicode番号を使用したときに問題が解決され、Â記号も正しく挿入されずに£記号と正しく一致することができました。