/**
* 说明:自定义的正则实例方法(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)
JS:自定义RegExp实例方法(移除单个/所有的匹配模式)
于 2024-07-26 10:29:34 首次发布