的来源我有一个下一个字符串,如:获取图像
<img src="../uplolad/commission/ranks/avatar.jpg' . $row[$c_name] .'" width="50" height="50"/>
我怎样才能在javascript中的图像文件名?我只知道PHP正则表达式。扩展文件可能会有所不同。
的结果必然是:avatar.jpg
的来源我有一个下一个字符串,如:获取图像
<img src="../uplolad/commission/ranks/avatar.jpg' . $row[$c_name] .'" width="50" height="50"/>
我怎样才能在javascript中的图像文件名?我只知道PHP正则表达式。扩展文件可能会有所不同。
的结果必然是:avatar.jpg
正则表达式是不理想这一点。 JavaScript可以比长字符串更容易地将HTML作为不同的对象进行遍历。如果你能确定由什么画面,通过添加一个ID给它,或者ID来与作为唯一的图像的父母说,你就可以从脚本访问图像:
var myImage = document.getElementById('imgAvatar'); // or whatever means of access
var src = myImage.src; // will contain the full path
if(src.indexOf('/') >= 0) {
src = src.substring(src.lastIndexOf('/')+1);
}
alert(src);
而且如果要编辑,你可以做到这一点一样好
myImage.src = src.replace('.jpg', '.gif');
取它下面的代码,它可以帮助你想要得到的东西。
<script type="text/javascript">
function getImageName(imagePath) {
var objImage = new RegExp(/([^\/\\]+)$/);
var getImgName = objImage.exec(imagePath);
if (getImgName == null) {
return null;
}
else {
return getImgName[0];
}
}
</script>
<script>
var mystring = getImageName("http://www.mypapge.mm/myimage.png")
alert(mystring)
</script>
这里是David Hedlund's answer较短的变体,它使用正则表达式:
var myImage = document.getElementById('imgAvatar'); // or whatever means of access
alert(myImage.src.replace(/^.+\// , ''));
谢谢。这是工作。 – pltvs 2010-08-19 07:32:44