J'ai une var avec une valeur:

https://XXXXX.com/message/message_media/image/230a9117-64d7-419e-b564-ecb1af3085a1

Au lieu de image , il peut s'agir de texte , vidéo , etc.

J'ai besoin de vérifier si c'est "image" ou "vidéo" etc .. etc. valeur dans cette position.

J'ai essayé :

alert(inbound_message.match(/image\/.*$/i)[0]);

Et je reçois image/230a9117-64d7-419e-b564-ecb1af3085a1

Comment puis-je vérifier la valeur de la position de l'image (ex: image, vidéo etc.)

1
Pamela 15 oct. 2020 à 19:19

2 réponses

Meilleure réponse

La méthode la plus simple, en supposant que le chemin ne change pas, est de diviser la chaîne d'URL par le caractère / puis d'obtenir le 6ème élément:

let url = 'https://XXXXX.com/message/message_media/image/230a9117-64d7-419e-b564-ecb1af3085a1';
let targetFolder = url.length >= 6 && url.split('/')[5];

console.log(targetFolder);

La vérification length sert uniquement à éviter toute erreur si le format de l'URL change.

1
Rory McCrossan 15 oct. 2020 à 16:22

Je recommande cette méthode pour tenir compte d'un plus large éventail d'URL d'entrée et d'un accès plus facile aux éléments d'URL à l'avenir.

const string = "https://XXXXX.com/message/message_media/image/230a9117-64d7-419e-b564-ecb1af3085a1"
const url = new URL(string)
const path = url.pathname

let empty,type,subtype,media_type,id;
[empty,type,subtype,media_type,id] = path.split('/')

console.log("MEDIA: " + media_type)
0
biomiker 15 oct. 2020 à 16:34