Cod*_*ick 3 javascript regex replace
码:
var csMasterPrefix = 'CS_',
cpMasterPrefix = 'CP_',
csContentPrefix = 'CSContent_',
cpContentPrefix = 'CPContent_';
/* ... */
$this.attr("id")
.replace(csMasterPrefix,'')
.replace(cpMasterPrefix,'')
.replace(csContentPrefix,'')
.replace(cpContentPrefix,'')
.replace('ibtn','')
.replace('btn','')
.replace('lbtn','')
.replace('img','')
.toLowerCase();
Run Code Online (Sandbox Code Playgroud)
问题:让我先说一下,我已经看过制定自己"干净"功能的解决方案.我的问题实际上不是如何做到这一点,而是我如何制作一个将所有替换调用合并为一个的正则表达式?
通过使用RegExp,选择运算符|和全局标志g:
var to_replace = [csMasterPrefix, ..., 'ibtn', ...];
var id = $this.attr("id").replace(new RegExp(to_replace.join('|'), 'g'), '');
Run Code Online (Sandbox Code Playgroud)
不知道它是否是最有效的解决方案,但它会起作用.
替代方案你可以循环to_replace并做正常的字符串替换.
| 归档时间: |
|
| 查看次数: |
347 次 |
| 最近记录: |