数据库中的一些字符存储在NCR中(例如台
(台))。
我需要能够在alert
窗口中显示它们,所以我需要将值转换为JavaScript可以显示的东西。
我该怎么做?
一个简单的解决方案是仅对数值使用String.fromCharCode()
。
静态
String.fromCharCode()
方法返回使用指定的Unicode值序列创建的字符串。
首先,您需要剥离&#
。我们可以使用JavaScript的replace()
方法:
var symbol = "台".replace("&#", "");
然后我们可以把它传递给String.fromCharCode()
:
alert(String.fromCharCode(symbol));
演示
var symbol = "台".replace("&#", "");
alert(String.fromCharCode(symbol));
<标题> 更新
…唯一的问题是内容混杂。例如:12 Amp. Street 台"
- Panos K.
对于这种情况,我们可以使用正则表达式来匹配符号并将其替换为内联。
var str = "12 Amp. Street 台";
我将使用正则表达式/&#(d*)/
,它匹配""后面跟着一组任意数字。像之前一样调用replace()
,我们可以用一个有两个参数的函数来代替:match
,整个匹配(台
)和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 台";
var replaced = str.replace(/&#(d*)/g, function(match, number) {
return String.fromCharCode(number);
});
alert(replaced);