regexp Regexp Pattern Untuk mencocokkan semua jenis URL, kode berikut seharusnya berfungsi:


<?php
$regex = “((https?|ftp)://)?”; // SCHEME
$regex .= “([a-z0-9+!(),;?&=$_.-]+(:[a-z0-9+!(),;?&=$.-]+)?@)?"; // User and Pass
$regex .= “([a-z0-9-.]*).((a-z)|(0-9.(0-9).(0-9)))”; // Host or IP
$regex .= “(:0-9)?”; // Port
$regex .= "(/([a-z0-9+$
%-].?)+)/?"; // Path
$regex .= "(?[a-z+&$.-][a-z0-9;:@&%=+/$.-]
)?”; // GET Query
$regex .= “(#[a-z_.-][a-z0-9+$%_.-]*)?”; // Anchor
?>

Example: correctly way for matching URL


<?php
if(preg_match(“^$regex$i”, ‘www.example.com/etcetc’, $m))
var_dump($m);

if(preg_match(“^$regex$i”, ‘http://www.example.com/etcetc’, $m))
var_dump($m);
?>
Pattern diatas bisa digunakan di javascript. Bedanya dengan diatas hanya dari segi variablenya saja. Bila di PHP variable dituliskan dengan awalan ($) maka di javascript cukup diganti (var) atau (let) atau (const)