如何用jquery替换字符串中可能变化的字符
How to replace with jquery a character that can vary in a string
基本上,我有一个url需要定期更改才能调用另一个函数,所以例如,我有"index/buscasimples/fiinitidade/1/filtro/1/",当按下特定按钮时,我需要将其为"filtro/1/"的部分替换为另一个。问题是这个数字"/1/"可以从1到3不等,所以我可能需要一个if来完成这项工作。但我想知道是否还有其他方法可以帮助我…
更清楚地说,代码就像这个
$('#filtro').change(function(e) {
e.preventDefault();
var filtro = $('#filtro option:selected').val();
var urlAtual = window.location.href;
var url = urlAtual.replace('/buscasimples/','/buscafiltrada/');
url += 'filtro/'+filtro+'/';
window.location = url;
})
这个函数更改url并放置所需的"filtro",第一次运行良好。但是当这个过程重复时,url中会有2个"filtro",所以我想替换"filtro"和它旁边的数字,但这个数字可以是1、2或3,正如我所说。有一些原生的jquery函数可以替换一个字符,就像"replace.('filtro/@/')"之类的?很抱歉问了这么长的问题,我已经申请了,我正在努力处理它哈哈谢谢!!
我想你需要indexOf()
。。试试这个代码并阅读代码中的注释,请
$('#filtro').change(function(e) {
e.preventDefault();
var filtro = $('#filtro option:selected').val();
var urlAtual = window.location.href;
var url = urlAtual.replace('/buscasimples/','/buscafiltrada/');
// <<<<<<<<< the new code start
if(url.indexOf('filtro/') > -1){ // if filtro/ found in the url'
urlSplit = url.split('filtro/'); // split url to get the url before 'filtro/'
url = urlsplit[0]+'filtro/'+filtro+'/'; // append new filtro to the first url string
}else{ // if url doesn't have filtro then append to url
url += 'filtro/'+filtro+'/';
}
// <<<<<<<<<<< end of new code
window.location = url;
})
您可以检查当前url是否已经包含filtro/number
,如果是,我们用新的过滤器编号replace
,否则,我们将filtro/numero
添加到url
和redirect
中。
你可以使用类似的东西:
$('#filtro').change(function(e) {
var filtro = $('#filtro option:selected').val();
var urlAtual = window.location.href;
var url = urlAtual.replace('/buscasimples/','/buscafiltrada/');
if (/filtro'/'d+/i.test(url)) {
url = url.replace(/filtro'/'d+/i, "filtro/"+filtro);
}else{
url += 'filtro/'+filtro+'/';
}
window.location = url;
})
相关文章:
- 在JavaScript中输出转义字符
- 不同浏览器中的空白字符正则表达式行为
- 单击页面上的链接后高度发生变化
- Regex匹配除“”之外的所有字符;.js”;
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 使用RegExp查找url中的字符
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 允许在文本框中使用某些字符
- 根据页面的位置突出显示文本中的字符
- 元素的内容必须由格式正确的字符数据或标记组成
- React redux初始化功能,无论状态变化如何
- 如何将字符串拆分为字符,但在javascript中保留空格
- 角度ng变化或ng点击选择can'不起作用
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- 使用Google Maps API向标记添加多个字符
- 如何用jquery替换字符串中可能变化的字符
- 当我将字符串从Javascript传递到Java applet时,字符串会发生奇怪的变化
- Javascript的变化与重复(组合)缺失的字符串字符
- 当Unicode数据从Chrome提交到ASP时,Unicode字符串会发生变化.网络页面