javascript的replace方法的高级应用

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>

<body>
  <script type="text/javascript">
  myString = "bbabc";
  myString.replace(/(a)(b)/g, function() {
    console.log(arguments) // ["ab", "a", "b", 2, "bbabc"]
  });
  //    参数将依次为:
  //    1、整个正则表达式匹配的字符。
  //    2、第一分组匹配的内容、第二分组匹配的内容…… 以此类推直到最后一个分组。
  //    3、此次匹配在源自符串中的下标(位置)。
  //    4、源自符串
  //    所以例子的输出是 ["ab", "a", "b", 2, "bbabc"]


  //在本例中,我们将把字符串中所有单词的首字母都转换为大写:
  myString = 'aaa bbb ccc';
  myString = myString.replace(/w+/g, function(word) {
    return word.substring(0, 1).toUpperCase() + word.substring(1);
  });
  console.log(myString)



  //用法举例  首字母大写 -- 多个参数 - 第一个表示匹配的整个字符串,后面的表示分组中的内容
  function capitalize(str) {
    return str.replace(/(^|s)([a-z])/g, function(m, p1, p2) {
      return p1 + p2.toUpperCase();
    });
  };
  myString = "i am a boy !"
  console.log(capitalize(myString)) //I Am A Boy!
  </script>
</body>

</html>
原文地址:https://www.cnblogs.com/yesyes/p/7326833.html