如何使用JavaScript检测字符串中的图像文件扩展名

时间:2014-02-21 21:16:17

标签: javascript html

我想知道如何使用JavaScript检测字符串中的图像。例如,我有一个输入类型文本具有以下值,“嘿检查出来https://exmaple.com/image.jpg”我想在标记中包装“https://exmaple.com/image.jpg”,以便它可以立即在我的标记中显示图像现场。谢谢,我尝试在JavaScript中使用split函数,但我不知道如何检测字符串中的图像扩展名。

4 个答案:

答案 0 :(得分:2)

var str = "https://example.com/image.jpg";
var extArray = str.split(".");
var ext = extArray[extArray.length - 1];

试试这个。

function searchText(text)
{
  var arr = text.match("/(http|ftp|https)://[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?/");
  for (var i=0; i<arr.length; i++)
  {
    //Make tags where 'arr[i]' is your url. 
  }
}

答案 1 :(得分:2)

您可能希望使用如下所示的正则表达式来查找任何图像类型,并确保您没有返回其他您不想要的垃圾。 E.g。

'https://exmaple.com/image.jpg'.match(/[^/]+(jpg|png|gif)$/)
-> ["image.jpg", "jpg"]

答案 2 :(得分:1)

使用lastIndexOf()

var str = "https://example.com/image.jpg";
var dotIndex = str.lastIndexOf('.');
var ext = str.substring(dotIndex);

Fiddle

答案 3 :(得分:0)

提示:(请根据您的需要使用逻辑) 你必须根据你的条件以某种方式拆分字符串并检查字符串是否有。什么

var a = "Hey check this out https://exmaple.com/image.jpg";
var text = a.split(' '); 

如果文本数组符合您的条件,则分配给变量filename

if(jQuery.inArray(".", text)!==-1) { //i dont prefer only .
filename = text[jQuery.inArray(".", text)];
}

分开扩展程序

function getExt(filename)
{
    var ext = filename.split('.').pop();
    if(ext == filename) return "";
    return ext;
}