[JavaScript] 正则表达式中$1,$2的作用

replace字符串替换

var str = "abcxyza"
var newstr = str.replace("a","*")
//newstr的值为*bcxyz

$1,$2的使用

const reg= /(\d{3})\d*(\d{4})/
let phoneNum = "18311118902"
const res = phoneNum.replace(reg, '$1****$2')
console.log(res) // "183****8902"

$1对应正则表达式中第一个小括号内表达式所对应的内容(\d{3})

$2则为第二个

如:这是一个实现类型判断的函数

function getType(target) {
  // 先进行 typeof 判断,如果是基础数据类型,直接返回。
  const type = typeof target;
  if (type !== "object") {
    return type;
  }

  // 如果是引用类型或者 null,再进行如下的判断,正则返回结果,注意最后返回的类型字符串要全小写。
  return Object.prototype.toString
    .call(target)    //[object Xxx]
    .replace(/^\[object (\S+)\]$/, "$1")
    .toLocaleLowerCase();
}

其他字符替换

字符

替换文本

$&

与 regexp 相匹配的子串。

$`

位于匹配子串左侧的文本。

$'

位于匹配子串右侧的文本。

$$

直接量符号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值