我们数据库中的某些字符存储在NCR中(例如台
(台))。
我需要能够在alert
窗口中显示它们,因此我需要将值转换为JavaScript可以显示的内容。
我该怎么做?
答案 0 :(得分:2)
一个简单的解决方案是仅对数值使用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&#21488”
- 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);