2011-06-23 11 views
0

以外の特殊文字をエスケープします。例についてはjavascriptのは、私はアンエスケープ英語以外の文字に問題がある非英語

var text1 = "ABC Farmacéutica Corporation". 
text1 = escape(text1); 

output: ABC%20Farmac%E9utica%20Corporation 

しかし、私は、Eなどの非英語文字以外の唯一の特殊文字をエスケープしたいと思います。 これらの文字を無視するロジックはありますか?

助けてください、事前に感謝します。

答えて

1

はエスケープ関数は、Unicode形式でエスケープ文字を返します。スペースは%20(16進数)で表されます。私があなたを正しく理解していれば、この場合はスペース文字だけをエスケープしたくありません。私はこれが可能である見ることができる唯一の方法は、あなたが脱出し、それを参照されたくないものを英語以外の文字を含むテーブルを持っているということです。このようなもの:

var dontEscape = "éöå....and_so_on"; 
var text = "ABC Farmacéutica Corporation"; 
var escaped = ""; 
for (var i = 0; i < text.length; i++) { 
    var test = text.substring(i, i+1); // charAt is unsafe with unicode chars 
    escaped = test.indexOf(test.toLowerCase()) == -1 ? escape(test) : test; 
} 

文字を選択的にエスケープする理由は何ですか?

+0

または他の方法でラウンド:あなたは** **こんにちは –

+0

脱出したい文字のテーブルを持って、返信用のおかげで、私はちょうどロジックを確認し、最終的に私は文字を取得していない午前出力を印刷するときラインの間にスペースバーで逃げた。さて、英語以外の文字をエスケープして、Javaの終わりに送る必要があります。 – Max

+0

私は将来、より多くの言語を使用しているため、あなたが提案したような限られた文字を置くことはできません。 – Max

関連する問題