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 回答