JS:自定义RegExp实例方法(移除单个/所有的匹配模式)

/**
 * 说明:自定义的正则实例方法(2)
 * 注意:参数说明开头若已'(xxx)'开头表示默认值
 * 其它:如果同名属性不想被覆盖,请自定义Object的静态方法
 * 其它:如果补充的属性不想被修改或删除,请调用Object.freeze()方法
 */
Object.assign(RegExp.prototype, {
  /**
   * 移除正则的某个匹配模式
   * @param {String} flag 要移除的模式:不区分大小写
   * @returns {RegExp}
   */
  removeFlag: function (flag) {
    return this.flags && flag && typeof flag === 'string' ? window.eval('/' + this.source + '/' + this.flags.replace(flag.toLowerCase()[0], '')) : this
  },
  /**
   * 移除正则的所有匹配模式
   * @returns {RegExp}
   */
  removeAllFlag: function () {
    return this.flags ? window.eval('/' + this.source + '/') : this
  },
})
Object.freeze(RegExp.prototype)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值