0

次のようなJavaScriptがあります

<script type="text/javascript">
  var login = "<sec:authentication property="principal.username"/>";
</script>

ログインの値が表示されると

abc&#64;gmail&#46;com. 

私はそれが好きであることを望んでいますabc@gmail.com.

奇妙な記号ではなく、正しいログインを取得する方法はありますか。また、適切なシンボルではなく、なぜそのような奇妙なシンボルが発生しているのかを知りたいです。

4

1 に答える 1

0

&#64;&#46;はそれぞれとのHTML コードです。@.

私の知る限り、JavaScript でそのような文字列をデコードするネイティブ関数はありません。ただし、DOM 要素の解析機能はいつでも使用できます。

var login = (login = document.createElement('span'), login.innerHTML = 'abc&#64;gmail&#46;com', login.textContent);

この機能を関数にラップして再利用できます。

function decodeHTML(text) {
    var el = document.createElement('span');

    return el.innerHTML = text, el.textContent; 
}

decodeHTML('abc&#64;gmail&#46;com');
于 2013-09-03T15:45:33.353 に答える