js中replace的应用

一: 准备知识:html

1.定义:replace() 方法用于在字符串中用一些字符替换另外一些字符,或替换一个与正则表达式匹配的子串。正则表达式

2.语法:函数

stringObject.replace(regexp/substr,replacement)

3.说明:this

  1)第一个参数能够是 正则 / 字符串spa

    tips: 若是该值是一个字符串,则将它做为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。code

  2)第二个参数能够是 字符串 / 函数regexp

    tips: 函数的时候,每一个匹配都调用该函数,它返回的字符串将做为替换文本使用。htm

    该函数的对象

    第一个参数是 匹配模式的字符串。blog

    第二个参数是 与模式中的子表达式匹配的字符串,能够有 0 个或多个这样的参数。

    第三个参数是一个整数,声明了匹配在 stringObject 中出现的位置。

    第四个参数是 stringObject 自己

4. 正则相关知识

  1)正则对象语法

  直接量语法

/pattern/attributes

  正则对象语法

new RegExp(pattern, attributes);

// 第一个参数:一个 字符串 或者 正则表达式
// 第二个参数:[可选] 包含属性"g","i","m";
// 须要注意的是 要是 第一个参数是 字符串的话 m 必须省略

  2)说明:

   i: 执行对大小不敏感的匹配

  g: 执行全局匹配( 查找全部的匹配而不是在找到第一个匹配后中止 );

  m: 执行多行匹配

  其余正则请点击:

二. 示例:

    1.全局替换111为aaa

var str = '111bbb';
str = str.replace( /111/g, 'aaa' );
alert(str);

    2.找到 "(数字@三位数字)" 的格式,替换成a标签 里面包含三位数字

  html:

<ul id="ul1">
    <li>(1@001)我爱</li>
    <li>(2@002)北京</li>
    <li>(3@003)</li>
</ul>

  js:

$.each( $('li'), function(i, item){
    var newHtml = $(this).html();
    newHtml = newHtml.replace(/\(\d\@(\d{3})\)/, function ($0, $1) {
         return '<a href="#">'+ $1 +'</a>';
    });
    $(this).html( newHtml );
});
相关文章
相关标签/搜索