Maison >interface Web >js tutoriel >Existe-t-il un moyen robuste et sans Regex de valider les URL en JavaScript ?

Existe-t-il un moyen robuste et sans Regex de valider les URL en JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-11 21:34:03687parcourir

Is There a Robust, Regex-Free Way to Validate URLs in JavaScript?

Validation d'URL robuste en JavaScript

JavaScript fournit plusieurs outils utiles pour manipuler et valider des chaînes. Dans cet article, nous nous concentrerons spécifiquement sur la vérification si une chaîne donnée représente une URL valide, à l'exclusion de l'utilisation d'expressions régulières.

Détermination de la validité

Pour déterminer la validité d'une URL, nous pouvons utiliser le constructeur d'URL. Lorsqu'il rencontre une URL mal formée, ce constructeur générera une erreur. Voici une fonction JavaScript qui utilise cette approche :

function isValidHttpUrl(string) {
  let url;

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

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

Cependant, il est important de noter que cette méthode vérifie uniquement la présence d'un schéma (par exemple, "http" ou "https"), tel que défini par RFC 3886. Par conséquent, les scénarios suivants sont considérés comme des URL valides :

  • www.example.com (schéma manquant)
  • javascript:void(0) (schéma non HTTP)
  • http://.. (l'hôte est "..")
  • https://example..com (l'hôte inclut "..")

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