Cara kerja pola
| Bagian | Arti |
|---|---|
^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 falsePython
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.
Regex Tester
Ketik pola dan lihat hasil cocok langsung ter-highlight di teks ujimu.