我有这个问题: 我有一个保存在数据库字段中的javascript,它将在网页中用作href目标,例如。
insert into table_with_links (id, url)
values (1, 'javascript:var url="blö blö";.....');
// run scripts that use the database values to generate web pages
// part of the generated html code:
<a href="javascript:var url='blabla';..... </a>
到目前为止没有问题。我在javascript中有德语字母(Umlaute - 例如ö)。我不应该将德语字母保存在数据库中,所以我逃避它们:
insert into table_with_links (id, url)
values (1, 'javascript:var url="bl%F6 bl%F6";.....');
现在出现了问题 - 我不应该在数据库中存储%标志,因为生成网页的脚本无法正确处理。我想你可以想象这些脚本是如何成为第三方脚本而无法更改的。
所以,我的问题是 - 我还可以逃避%号吗?
答案 0 :(得分:2)
var str= "remove the %";
var str_n = str.replace("%","");
以下是基础知识http://www.w3schools.com/jsref/jsref_replace.asp
然后你可以使用一组字符来替换,看看javascript replace globally with array
答案 1 :(得分:1)
我建议使用oracle内置的国际化,Oracle能够处理特殊的德语字符:
http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/u_i18n.htm
如果你想自己处理它,我建议你做一个字符串替换你知道的一些序列:
var str = str.replace(/ö/g,"[german-umlaute]");
(/ö/ g末尾的g用于替换字符串中的所有匹配项)