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