检查字符串是否包含链接javascript

检查字符串是否包含链接javascript,javascript,Javascript,我正在尝试检查字符串是否包含链接。如果它确实包含链接,则返回带有视频或gif id的html标记 我在youtube上找到了它,但我无法在giphy上找到它,我希望有人能帮我 函数检查链接(字符串){ 让youtubeId=(string.match(/youtube\.com\/watch\?*?v=([^&]+)/i)| |[])[1]; if(youtubeId) 返回“”; 设gifID=(string.match(/media4\.giphy\/.com\/media\?*([^&]

我正在尝试检查字符串是否包含链接。如果它确实包含链接,则返回带有视频或gif id的html标记

我在youtube上找到了它,但我无法在giphy上找到它,我希望有人能帮我

函数检查链接(字符串){
让youtubeId=(string.match(/youtube\.com\/watch\?*?v=([^&]+)/i)| |[])[1];
if(youtubeId)
返回“”;
设gifID=(string.match(/media4\.giphy\/.com\/media\?*([^&]+)/i)| |[])[1];
if(gifID)
返回“”
返回“”;
}
const checkGif=checkLinks('https://media4.giphy.com/media/jQyHHXQ60W93O/giphy.gif');
const checkYoutube=checkLinks('https://www.youtube.com/watch?v=dQw4w9WgXcQ');
log('check gif',check gif);

log('checkYoutube',checkYoutube)这里有一些不太复杂的东西

函数检查链接(字符串){
const url=newurl(字符串),hostname=url.hostname;
if(hostname.includes(“youtube”)){
const youtubeId=url.searchParams.get(“v”)
返回“”;
}else if(hostname.includes(“giphy”)){
const gifID=url.pathname.split(“\/”[2];
返回“”
}
返回“”;
}
const checkGif=checkLinks('https://media4.giphy.com/media/jQyHHXQ60W93O/giphy.gif');
const checkYoutube=checkLinks('https://www.youtube.com/watch?v=dQw4w9WgXcQ');
log('check gif',check gif);

console.log('check youtube',check youtube)
阅读以下内容:@SoftwareEngineer OP解析HTML在哪里?@mplungjan那么函数返回一个带有iframe或链接的div,具体取决于链接是什么…第二行:
让youtubeId=…
如果正在使用解析库,那么OP将通过对象的属性拉出链接,不适用于正则表达式。Regex正在解析HTML。顺便说一句,我的评论不是要批评,只是提供信息。它不是经过解析的,只是简单的字符串构建