设计学院-ui163 致力于网页标准 网页设计 web标准与ui设计。

利用JavaScript正则表达式模拟Google Talk的文本处理

上一篇上一篇 | 下一篇下一篇发表时间:2007-10-1 12:51:49
Google Talk是一个功能很简洁的即时通讯工具,尤其是它的文字输入区域,不同于其他IM,除了一个文字输入区域外没有任何其他操作。但是用户可以通过输入一些特殊组合的字符来格式化文本,比如:
  • _文本_,出现的效果就是斜体:文本
  • *文本*,出现的效果就是粗体:文本
  • 还有很多表情符号,输入后会变为蓝色的字符
前段时间给公司做一个Web IM的项目,就在JavaScript中用正则表达式模拟了一下这个效果。先看一下代码吧:
  • msg.replace(/(\*)([^\*]*)(\*)/g,'<strong>$2</strong>'); // 处理粗体文字的显示
  • msg.replace(/(_)([^_]*)(_)/g,'<em>$2</em>'); // 处理斜体文字的显示
  • msg.replace(/((http|https):\/\/.+)/g,'<a href="$1" target="_blank">$1</a>'); // 处理超文本链接
大致的原理就是:正则表达式中,用括号括起来的部分会从左向右的进行编号,然后在replace()的第二个参数中,通过 $n 来引用。比如:
var str = 'JavaScript is GREAT!';
str = str.replace(/(Java)(Script)/,'<strong>$1</strong><em>$2</em>');
str输出的结果就是 JavaScript is GREAT!
[本日志由 ui163 于 2007-10-1 12:51:49 编辑]
上一篇上一篇:关于DOM事件模型的两件事
下一篇下一篇:一篇不错的介绍JavaScript Window对象的文章
文章来自:设计学院
收藏到网摘: 收藏到QQ书签
Tags:

相关内容

网站建设导航→

相关内容

版权隐私 ┊ 免责声明  ┊ 友情链接 ┊ 网站地图  ┊ 联系我们

Copyrights©2006 UI163.com All Rights Reserved 2007

 豫ICP备07501346号