Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mencipta Ungkapan Biasa Teguh untuk Mengesan URL dengan atau tanpa Awalan 'http://'?

Bagaimana untuk Mencipta Ungkapan Biasa Teguh untuk Mengesan URL dengan atau tanpa Awalan 'http://'?

Linda Hamilton
Linda Hamiltonasal
2025-01-05 21:34:41675semak imbas

How to Create a Robust Regular Expression for Detecting URLs with or without

Cara Membina URL Komprehensif RegEx

Corak RegEx ialah alat yang berkuasa untuk memadankan format teks tertentu. Mengenal pasti URL menggunakan corak RegEx memerlukan perhatian yang teliti untuk memastikan pengesanan yang tepat.

Dalam kes anda, kesukaran timbul apabila cuba mengesan URL tanpa awalan "http://". Untuk menangani perkara ini, berikut ialah corak RegEx yang dipertingkatkan:

https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)

Pecahan Corak:

  • Protokol (Pilihan):

    • https? sepadan dengan "http://" atau "https://" (tidak peka huruf besar-kecil).
  • Awalan Subdomain (Pilihan):

    • (www.) sepadan dengan "www." awalan subdomain.
  • Nama Domain:

    • [-a-zA-Z0-9@:%._ ~#=]{1,256} sepadan dengan mana-mana gabungan huruf, nombor dan aksara khas yang ditentukan, dengan panjang maksimum 256 aksara.
  • Domain Peringkat Atas:

    • .[a-zA-Z0-9()]{ 1,6} sepadan dengan domain peringkat teratas (cth., ".com", ".org") dengan panjang maksimum 6 aksara.
  • Laluan dan Rentetan Pertanyaan (Pilihan):

    • b([-a-zA-Z0- 9()@:%_ .~#?&//=]*) menangkap sebarang elemen laluan tambahan dalam URL.

Alternatif Regex tanpa Protokol Diperlukan:

[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)

Versi ini mengalih keluar komponen padanan protokol, menjadikannya sesuai untuk URL seperti "www.google.com".

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Ungkapan Biasa Teguh untuk Mengesan URL dengan atau tanpa Awalan 'http://'?. 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