jQuery中有一个等价的PHP的`preg_replace()`?
说我有以下内容:
这条路径可以是任何东西,我们基本上想要将“pic.jpg作为变量。
目前我们这样做:
var first_img = $("#thumbnail-area li:first").find("img").attr("title");
将first_img
变量设置为图像src,但是我们想要在PHP中进行preg匹配,以获取“pic.jpg”。
这必须正常工作,所以路径可以是: folder/foo/bar/x982j/second822.jpg
并且它返回second822.jpg
我怎样才能做到这一点?
你可以使用类似PHP的preg_replace()
replace()
(它也接受一个PCRE,有一些限制,比如没看后面)……
str.replace(/.*\//, '')
jsFiddle 。
或者,您可以使用……
str.split('/').pop();
jsFiddle 。
这里没有必要使用jQuery; Javascript本身支持正则表达式,因此jQuery不是答案的一部分。
Javascript的正则表达式替换函数简称为.replace()
,并且是字符串类的一个方法。 您可以按如下方式使用它:
var mystring = 'this is a string'; mystring.replace(/is a/,'might be a'); //mystring is now equal to 'this might be a string'.
这应该足以让你开始。 由于您在问题中引用了preg_replace()
,我假设您已经知道如何使用正则表达式,而不需要详细讨论如何解决您的具体示例。
这里的工作示例: http : //jsfiddle.net/jkeyes/sxx3T/
var re = new RegExp(".*\/(.*)$"); var src="folder/foo/bar/x982j/second822.jpg"; var m = re.exec(src); alert(m[1]); // first group