gpt4 book ai didi

jquery - JavaScript 中相同 match() 方法的两个字符串

转载 作者:行者123 更新时间:2023-12-01 02:53:13 26 4
gpt4 key购买 nike

我的问题是,如何通过同一个 match() 方法匹配两个字符串,示例如下:
原始代码:

var self = $(this);
var src = self.attr('src');
if (src.match(/category/image.jpeg)) {
self.attr('src', src.replace("/category/","/categories/"));
}

我想匹配这样的两个字符串:

var self = $(this);
var src = self.attr('src');
if (src.match(/category/image.jpeg, /category/image.png)) {
self.attr('src', src.replace("/category/","/categories/"));
}

所以,我做了这样的更改 if (src.match(/category/image.jpeg,/category/image.png))

但是不起作用,我认为这是错误的,但是如何通过相同的方法匹配两个不同的字符串?通过我给定的代码。

最佳答案

.match(/category/image.jgep) 不是将 RegEx 与 String#match 一起使用的有效语法。并会抛出语法错误。

要检查字符串是否包含 .jpeg.png 图像,您可以使用

/category\/image\.(?:jpeg|png)$/

使用RegExp#test而不是String#match检查字符串是否遵循模式。

代码:

var regex = /category\/image\.(?:jpeg|png)$/i;
if (regex.test('src')) {
self.attr('src', src.replace("/category/","/categories/"));
}

要替换所有图像的 /category/,您可以使用 attribute contains selectorattr()带回调。

$('img[src*="/category/"]').attr('src', function(ind, oldSrc) {
return oldSrc.replace("/category/", "/categories/");
});

关于jquery - JavaScript 中相同 match() 方法的两个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35145390/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com