使用JavaScript删除非法URL字符

Pet*_*ter 20 javascript jquery

我有一个充满字符串的数组,例如,值可以"未更新>天".我使用数组中的值来创建一些url,并需要删除/\<>和其他非法URL字符.我最简单的做法是什么?

我开始了

var Name0 = title[0].substring(1).replace(" ", "%20").replace("/", "") + '.aspx';
var Name1 = title[1].substring(1).replace(" ", "%20").replace("/", "") + '.aspx';
and so on but can I do this in a better way?
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Del*_*ani 55

如果您希望将符号保留在URI中,但对其进行编码:

encodedURI = encodeURIComponent(crappyURI);
Run Code Online (Sandbox Code Playgroud)

如果您希望构建"友好"URI,例如博客上的URI:

niceURI = crappyURI.replace(/[^a-zA-Z0-9-_]/g, '');
Run Code Online (Sandbox Code Playgroud)

  • 或者,杀死白名单以外的所有内容:`.replace([^ good symbols here]/g,'')` (4认同)
  • 只需将所有符号拼凑成一个:`.replace(/ [这里的坏符号]/g,'')` (3认同)