Javascript .replace() 具有多个调用,有些带有变量,有些带有纯文本
Javascript .replace() with multiple calls, some with variables, some with plain text
Code:
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();
问:让我先说一下,我已经看过一些解决方案,这些解决方案说要使你自己的"干净"功能。 我的问题真的不是如何做到这一点,而是我怎样才能制作一个正则表达式,将所有替换调用合并为一个?
通过使用
RegExp
,选择运算符|
和全局标志g
:
var to_replace = [csMasterPrefix, ..., 'ibtn', ...];
var id = $this.attr("id").replace(new RegExp(to_replace.join('|'), 'g'), '');
不知道这是否是最有效的解决方案,但它会起作用。
或者,您可以遍历to_replace
并进行正常的字符串替换。
相关文章:
- 来自文本输入null的html javascript变量
- 将文本框中的值用于按钮窗体操作上的变量
- 操作javascript变量[HTML]以只显示文本
- 使用JSON文件中的变量(字符串)填充文本区域
- 仅当变量有值时才显示D3文本标签
- 如何在外部文档中使用javascript将文本区域的内容保存为变量
- 如何在Jquery函数中为自动完成文本区域指定一个变量作为Id
- 如何获取Session变量中的锚文本
- PHP/Ajax/jquery/JON-在Ajax Post之后将echo文本中的一部分作为变量返回
- 文本输入值中的JavaScript变量
- Jquery-将文本存储在变量中
- 如何使用JavaScript或jQuery将纯文本网站捕获到变量中
- 如何在没有表单提交、没有js、没有jquery和没有ajax的情况下将输入的文本框值存储到php变量中
- 如何在HTML标签中获取javascript变量文本值
- 如何将变量文本传递到 PHP 变量中
- 来自变量文本框的 Javascript
- 翻译API:变量文本翻译为空
- 如何通过使用javascript变量在文本字段中创建变量文本
- 如何将变量文本添加到文本区域以及用户输入的文本
- jquery中选择下拉列表的变量文本标签