JavaScript replace(rgExp,fn)正则替换的用法

 更新时间:2010年03月04日 13:24:54   作者:  
再看jQuery源码的时候遇到了replace中参数为函数的用法,正好复习一下replace正则替换的用法。
代码如下:
复制代码 代码如下:

var rxhtmlTag = /(<([\w:]+)[^>]*?)\/>/g,
rselfClosing = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,
fcloseTag = function(all, front, tag) {
return rselfClosing.test(tag) ?
        all :
        front + "></" + tag + ">";
};
//转换"Xhtml" 风格的标签为标准HTML标签
//如<tag/> 为 <tag></tag>
elem = elem.replace(rxhtmlTag, fcloseTag);


主要看 fcloseTag = function(all, front, tag){}
第一个参数all是通过rxhtmlTag匹配的整个字符串
第二个参数front是通过rxhtmlTag匹配的 第一个 左括号"(" 中的内容
第三个参数tag是通过rxhtmlTag匹配的 第二个 左括号"(" 中的内容

参数的个数根据 正则表达式中 左括号的个数成正比,按照从左到右的参数的位置和左括号的位置也一一对应。

相关文章

  • JavaScript开发规范要求(规范化代码)

    JavaScript开发规范要求(规范化代码)

    作为一名开发人员(WEB前端JavaScript开发),不规范的开发不仅使日后代码维护变的困难,同时也不利于团队的合作,通常还会带来代码安全以及执行效率上的问题。
    2010-08-08
  • javascript编程起步(第四课)

    javascript编程起步(第四课)

    javascript编程起步(第四课)...
    2007-02-02
  • javascript中substr,substring,slice.splice的区别说明

    javascript中substr,substring,slice.splice的区别说明

    某些情况下,负数的参数不识别.所以尽量不要用负数作参数.免得浏览器不兼容,造成程序的出错.
    2010-11-11
  • JavaScript DOM学习第四章 getElementByTagNames

    JavaScript DOM学习第四章 getElementByTagNames

    HTML有一些相关有不同tag名字的相关元素,比如H1-H6或者input,select和TEXTAREA。getElementByTagName只能取得那些有相同tag名称的元素,所以你不能用他来取得所有的标题或者整个表单内容。
    2010-02-02
  • javascript的函数作用域

    javascript的函数作用域

    javascript中没有块级作用域。取而代之的javascript使用的是函数作用域(function scope):变量在声明它的函数体以及这个函数体嵌套的任意函数体内都是有定义的。
    2014-11-11
  • 深入理解JavaScript系列(36):设计模式之中介者模式详解

    深入理解JavaScript系列(36):设计模式之中介者模式详解

    这篇文章主要介绍了深入理解JavaScript系列(36):设计模式之中介者模式详解,中介者模式(Mediator)是指用一个中介对象来封装一系列的对象交互,需要的朋友可以参考下
    2015-03-03
  • JavaScript中的内置对象介绍

    JavaScript中的内置对象介绍

    这篇文章介绍了JavaScript中的内置对象,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • JavaScript的面向对象编程基础

    JavaScript的面向对象编程基础

    这篇文章主要介绍了JavaScript的面向对象编程基础,是JavaScript入门学习中的重要知识概念,需要的朋友可以参考下
    2015-08-08
  • 微信小程序开发之入门实例教程篇

    微信小程序开发之入门实例教程篇

    2016年推出微信小程序,时至今日,历经几个版本的更新,已形成了相对实用和稳定的服务平台。本文简单的介绍了微信小程序的入门用法,今后会继续关注和实践。需要的朋友可以参考学习,下面来一起看看吧。
    2017-03-03
  • 删除Javascript Object中间的key

    删除Javascript Object中间的key

    这篇文章介绍了删除Javascript Object中间的key的方法,然后主要详谈了delete的用法,非常的详尽,给小伙伴们参考下
    2014-11-11

最新评论