Rumah >hujung hadapan web >tutorial js >Adakah Rentetan JavaScript Anda URL yang Sah?

Adakah Rentetan JavaScript Anda URL yang Sah?

Linda Hamilton
Linda Hamiltonasal
2024-11-12 17:56:02824semak imbas

Is Your JavaScript String a Valid URL?

Cara Menentukan jika Rentetan JavaScript Mewakili URL

Dalam JavaScript, anda mungkin menghadapi senario di mana anda perlu menentukan sama ada rentetan yang diberikan ialah URL yang sah. Walaupun ungkapan biasa menawarkan pendekatan yang serba boleh, format URL tertentu, seperti "stackoverflow," tidak mempunyai elemen standard seperti ".com," "www" atau "http."

Untuk mengendalikan kes sedemikian, yang lebih mantap kaedah menggunakan pembina URL.

Penyelesaian:

Untuk menyemak sama ada rentetan mewakili URL HTTP yang sah, anda boleh menggunakan fungsi berikut :

function isValidHttpUrl(string) {
  try {
    const url = new URL(string);
    return url.protocol === "http:" || url.protocol === "https:";
  } catch (_) {
    return false;
  }
}

Fungsi ini akan menjadikan objek URL baharu dengan rentetan yang disediakan. Jika rentetan itu mematuhi format URL yang betul, ia akan berjaya tanpa menimbulkan ralat.

Nota:

Adalah penting untuk mempertimbangkan bahawa bukan semua URL mesti bermula dengan " http" atau "https." Menurut RFC 3886, URL boleh bermula dengan pelbagai skim. Berikut ialah beberapa contoh:

  • "www.example.com" bukan URL yang sah kerana ketiadaan skim.
  • "javascript:void(0)" ialah URL yang sah tetapi bukan URL HTTP.
  • "http://.." ialah URL yang sah dengan hos yang tidak konvensional.
  • "https://example..com" juga merupakan URL yang sah, dengan tanda titik dua bagi hos bukan standard.

Atas ialah kandungan terperinci Adakah Rentetan JavaScript Anda URL yang Sah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn