Javascript(不适用于Web)需要替换所有有问题的字符
Javascript (Not for Web) need to replace all offending characters
我正在为一个允许这种脚本扩展其自身功能的应用程序编写javascript。(埃斯科)这不适用于网络。我有各种文本字符串,其中包含各种不需要的字符,我需要替换这些字符。我所拥有的适用于所有内容,除了双引号。这是我所拥有的:
function f ()
{
//Remove Illegal characters and replace with an underscore
//List of Illegal chars
var re = /['*'"'%'''@'#'$'%'^'&'*'{'}'[']'(')[']]/gi;
var str = "SANTA FE NATURAL TOBACCO COMPA"NY INC %#$%^ American Spirit";
var newstr = str.replace(re, "");
//Remove double underscores
var re = /_+/g;
var str = newstr;
var newstr = str.replace(re, '_');
return (newstr)
}
f ();
var str 随每个订单而变化,因此它总是不同的。我可以将 var str 行更改为:var str = 'SANTA FE NATURAL TOBACCO COMPA"NY INC %#$%^ American Spirit';(单引号)我可以替换双引号,但不能替换单引号。我需要两个都走了。我怎样才能完成??
我对JS的经验非常有限,要温柔。
谢谢
当我在控制台中运行它时,您的代码消除了"
,除了我必须在str
的定义中转义它('"
)。
当你对自己说"这可以通过正则表达式解决"的那一刻,你现在有两个问题。
您应该使用以下两个功能:
var encoding = encodeURIcomponent('SANTA FE NATURAL TOBACCO COMPA"NY INC %#$%^ American Spirit');
var decoding = decodeURIcomponent(encoded);
除非您使用 node 处理这些内容.js否则最好使用缓冲区。
var 编码 = new Buffer('SANTA FE NATURAL TOBACCO COMPA"NY INC %#$%^ American Spirit');
encoded.toString();
你的代码看起来不错;问题是你没有正确输入str
。编写文字'
字符串时,必须在字符串中转义'
s;同样适用于"
字符串。将字符串硬编码到代码中时,这是不可避免的。若要在不转义任何字符的情况下输入这些字符串,请从用户读取str
,而不是将其写入源。
- 这个条件语句的逻辑有问题
- 什么'这个javascript代码getElementById有问题
- 如何处理流星变量&对miniMongo有问题
- 谷歌表单xml有问题
- Html、css和jQuery.我的代码有问题
- 有问题的突出显示(悬停)一个系列,突出显示图表
- D3 折线图示例 - 日期有问题
- 页面刷新后javascript内存泄漏有问题吗?为什么?
- 有问题的键代码186和222,如何捕捉它们
- 循环 += 十进制变量的 javascript 有问题
- 随机数生成器,what'我的方法/统计数据有问题吗?[JS]
- 为了在列表中搜索,角度过滤器有问题
- 我对按钮的作用域有问题'的听众
- 为什么我的setInterval有问题
- Javascript在每个有问题的控件上输出一条错误消息
- url的正则表达式有问题
- 没有按钮的Javascript滚动器有问题
- 我的javascript函数有问题,我认为是document.getElementById('vodObj
- Javascript(不适用于Web)需要替换所有有问题的字符
- 找到,替换jquery..搜索词数组有问题