Maison > interface Web > js tutoriel > le corps du texte

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

Barbara Streisand
Libérer: 2024-11-11 21:34:03
original
603 Les gens l'ont consulté

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:";
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal