Regex untuk URL (http dan https)

Gunakan /^https?:\/\/[A-Za-z0-9.-]+\.[A-Za-z]{2,}(?::\d{1,5})?(?:\/[^\s]*)?$/ untuk memeriksa apakah seluruh string adalah URL (http dan https) yang valid. Setiap contoh di bawah sudah diuji dengan pola ini, dan kamu bisa membukanya di Regex Tester dengan contoh yang sudah dimuat.

Diperbarui

/^https?:\/\/[A-Za-z0-9.-]+\.[A-Za-z]{2,}(?::\d{1,5})?(?:\/[^\s]*)?$/
Buka di Regex Tester
InputHasil
https://example.com✓ Cocok
http://sub.example.co.uk:8080/path?q=1#top✓ Cocok
https://devpack.app/regex-tester✓ Cocok
example.com✗ Tidak cocok
ftp://example.com✗ Tidak cocok
https://localhost✗ Tidak cocok
http://exa mple.com✗ Tidak cocok

Cara kerja pola

BagianArti
^https?Diawali dengan http, dengan s opsional di belakangnya
:\/\/Teks literal :// (garis miring di-escape untuk literal regex JavaScript)
[A-Za-z0-9.-]+Nama host dan subdomain
\.[A-Za-z]{2,}Titik dan domain tingkat atas (TLD) dengan dua huruf atau lebih
(?::\d{1,5})?Port opsional seperti :8080
(?:\/[^\s]*)?Path, query string, dan fragment opsional — apa pun hingga spasi
$Akhir string

Contoh kode

JavaScript

const re = /^https?:\/\/[A-Za-z0-9.-]+\.[A-Za-z]{2,}(?::\d{1,5})?(?:\/[^\s]*)?$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'https?://[A-Za-z0-9.-]+\.[A-Za-z]{2,}(?::\d{1,5})?(?:/[^\s]*)?', value))

PHP

preg_match('/^https?:\/\/[A-Za-z0-9.-]+\.[A-Za-z]{2,}(?::\d{1,5})?(?:\/[^\s]*)?$/', $value) === 1;

Catatan dan batasan

Untuk validasi di JavaScript, new URL(value) di dalam try/catch lebih ketat dan menangani semua kasus tepi; gunakan regex ini jika kamu juga ingin memastikan http(s) dan domain yang terlihat publik. Pola ini sengaja menolak localhost dan alamat IP mentah.

Pertanyaan yang sering diajukan

Apa regex untuk URL (http dan https)?
/^https?:\/\/[A-Za-z0-9.-]+\.[A-Za-z]{2,}(?::\d{1,5})?(?:\/[^\s]*)?$/ — pola ini mencocokkan seluruh string. Lihat tabel di atas untuk fungsi tiap bagian.
Contoh mana yang cocok?
Dari contoh yang diuji, yang cocok adalah: https://example.com, http://sub.example.co.uk:8080/path?q=1#top, https://devpack.app/regex-tester. Yang lain tidak cocok.
Bagaimana cara menguji regex ini?
Klik “Buka di Regex Tester” — pola, flag, dan teks contoh akan dimuat otomatis, dan kecocokan akan disorot saat kamu mengedit.