在警报中显示数字代码参考(NCR)



数据库中的一些字符存储在NCR中(例如台(台))。

我需要能够在alert窗口中显示它们,所以我需要将值转换为JavaScript可以显示的东西。

我该怎么做?

一个简单的解决方案是仅对数值使用String.fromCharCode()

静态String.fromCharCode()方法返回使用指定的Unicode值序列创建的字符串。

首先,您需要剥离&#。我们可以使用JavaScript的replace()方法:

var symbol = "&#21488".replace("&#", "");

然后我们可以把它传递给String.fromCharCode():

alert(String.fromCharCode(symbol));

演示

var symbol = "&#21488".replace("&#", "");
alert(String.fromCharCode(symbol));


<标题> 更新

…唯一的问题是内容混杂。例如:12 Amp. Street 台"
- Panos K.

对于这种情况,我们可以使用正则表达式来匹配符号并将其替换为内联。

var str = "12 Amp. Street &#21488";

我将使用正则表达式/&#(d*)/,它匹配"&#"后面跟着一组任意数字。像之前一样调用replace(),我们可以用一个有两个参数的函数来代替:match,整个匹配(&#21488)和number,一组数字(21488)。从这里我们简单地返回String.fromCharCode(number):

var replaced = str.replace(/&#(d*)/g, function(match, number) {
    return String.fromCharCode(number);
});

replaced现在应该包含值"12 Amp. Street 台"


演示

var str = "12 Amp. Street &#21488";
var replaced = str.replace(/&#(d*)/g, function(match, number) {
  return String.fromCharCode(number);
});
alert(replaced);

最新更新