代码改变世界

【备忘】用于过滤空白字符的几种常见的正则表达式pattern——在JavaScript中的表现形式

2010-12-22 05:25  Nana's Lich  阅读(1079)  评论(0编辑  收藏  举报
var trimInfo =
{ basic: / /
  // vb中的简单空白字符过滤
  , classic: /\s/
  // 传统的js空白字符过滤
  , ecmascript5: /[\s\xA0\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/
  // ECMAScript 5中对/s的补充定义
  , ex: /[\s\xA0\u2028\u2029]/
  // 印象中是和js中的标识符或者字符串有关,忘了从哪来的了XD
  , control: /[\x00-\x1F\x7F-\x9F]/
  // 补充了控制字符的简单过滤
  , dotNet: /[\s\xA0\u2000-\u200B\u3000\uFEFF]/
  // .NET平台的默认实现
  , unicode: /[\s\x85\xA0\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/
  // 过滤Unicode标准中定义的空白字符
  , complex: /[\x00-\x20\x7F-\xA0\u1680\u180E\u2000-\u200B\u2028\u2029\u202F\u205F\u3000\uFEFF]/
  // 复合的过滤,是以上几种的并集
};

注意:列出的代码只是为了方便程序处理而采用了正则表达式的语法,但实际上并不是可以直接用于过滤的正则表达式。

根据实际的使用情况,可能需要增加“g”等标志,或者进一步加工成更复杂的正则表达式。