Maison  >  Article  >  interface Web  >  Une chaîne JavaScript est-elle une URL valide : comment la déterminer ?

Une chaîne JavaScript est-elle une URL valide : comment la déterminer ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-18 21:58:02718parcourir

Is a JavaScript String a Valid URL: How to Determine?

Comment déterminer si une chaîne JavaScript est une URL

Lorsque vous travaillez avec des chaînes JavaScript, il peut être crucial de vérifier si elles représentent des chaînes valides. URL. On peut être tenté de rejeter les expressions régulières en raison du risque que les URL manquent de composants communs tels que « .com » ou « www », mais il existe des méthodes plus robustes disponibles.

Utiliser le constructeur d'URL pour Validation HTTP

Si vous avez spécifiquement besoin de vérifier des URL HTTP valides, envisagez d'utiliser le constructeur d'URL :

function isValidHttpUrl(string) {
  let url;

  try {
    url = new URL(string);
  } catch (_) {
    return false;  
  }

  return url.protocol === "http:" || url.protocol === "https:";
}

Cette approche lève une exception pour les URL mal formées, garantissant ainsi la fiabilité. Il adhère également à la RFC 3886 en vérifiant la présence d'un schéma au début de l'URL.

Considérations supplémentaires pour la validité de l'URL

Il est important de noter que les URL suivent règles spécifiques au-delà d'un schéma HTTP :

  • Ils ne doivent pas commencer par un schéma (par exemple, "www.example.com" n'est pas valide)
  • Tout schéma est autorisé (par exemple, "javascript:void(0)" est valide, mais pas HTTP)
  • L'hôte peut être non conventionnel (par exemple, "http://.." ou "https://example..com")

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn