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

时间:2015-05-20 08:23:42

标签: javascript

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

我需要能够在alert窗口中显示它们,因此我需要将值转换为JavaScript可以显示的内容。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

一个简单的解决方案是仅对数值使用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&#21488”
- 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);