[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[原创代码] JavaScript 替换空白字符在各浏览器中较通用的代码

本帖最后由 neorobin 于 2012-10-30 15:16 编辑

要移除 字符串 中的所有空白字符, 似乎可以用下面简单的 代码1 实现
  1. str.replace(/\s+/g, "");
复制代码
但由于各种浏览器 对 ECMA 标准的遵守不一定尽于人意, 以上代码在某些浏览器中可能会出现不能成功移除掉所有不需要的空白字符.
比如 IE 8 对 \s 的解释就只有如下这些字符:
U+0009
U+000a
U+000b
U+000c
U+000d
U+0020
而   被浏览器解释成 U+00A0 时, 就无法被 代码1 移除掉.

以下给出可能更通用的代码:
当仅仅要增加处理 U+00a0 字符时
  1. str.replace(/[\s\u00a0]+/g, "");
复制代码
  1. var white_sps = String.fromCharCode(9,10,11,12,13,32,160,5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8232,8233,8287,12288,65279);
  2. var re = new RegExp("[" + white_sps + "]+", "g");
  3. str = str.replace(re, "");
复制代码
参考:
http://blog.stevenlevithan.com/a ... t-regex-and-unicode

返回列表