Toto Prayogo

Toto Prayogo

Fungsi regex (pattern) yang sering ku gunakan

Berikut adalah pattern (regular expression) yang sering ku gunakan dalam aplikasi yang sedang dikerjakan atau maintenance:


No Handphone

Dikarenakan masih banyak project yang menggunakan nomer hape (hp), maka regex ini sangat membantu untuk proses validasi inputnya, ^(0)[0-9]{9,11}$ dengan fungsi tersebut maka akan memvalidasi hanya yang berawalan angka 0 (nol) hingga 10 atau 12 digit, selain itu maka dianggap salah. Untuk penggunaan pada PHP seperti berikut:

$re = '/^(0)[0-9]{9,11}$/';
$str = '081234567890';

preg_match_all($re, $str, $matches);

// Print the entire match result
print_r($matches);
Sedangkan untuk javascript:
const regex = /^(0)[0-9]{9,11}$/g;
const str = `081234567890`;
let m;

while ((m = regex.exec(str)) !== null) {
    // This is necessary to avoid infinite loops with zero-width matches
    if (m.index === regex.lastIndex) {
        regex.lastIndex++;
    }
    
    // The result can be accessed through the `m`-variable.
    m.forEach((match, groupIndex) => {
        console.log(`Found match, group ${groupIndex}: ${match}`);
    });
}

Digit Angka Uang

Meski Rupiah sedang berganti wajah dengan rupa yang penuh kontroversi karena mirip dengan Mata Uang negara lain, namun regex nya untuk validasi masih tetap sama yakni ^(?:[1-9]\d*|0)$. Function ini akan mengijinkan hanya 0 (nol) atau angka berapapun tanpa diawali 0 dan tanpa tanda baca seperti titik (.) maupun koma (,).
Untuk penggunaan pada PHP seperti berikut :

$re = '/^(?:[1-9]\d*|0)$/';
$str = '20000';

preg_match_all($re, $str, $matches);

// Print the entire match result
print_r($matches);
Sedangkan untuk javascript sebagai berikut:
const regex = /^(?:[1-9]\d*|0)$/g;
const str = `20000`;
let m;

while ((m = regex.exec(str)) !== null) {
    // This is necessary to avoid infinite loops with zero-width matches
    if (m.index === regex.lastIndex) {
        regex.lastIndex++;
    }
    
    // The result can be accessed through the `m`-variable.
    m.forEach((match, groupIndex) => {
        console.log(`Found match, group ${groupIndex}: ${match}`);
    });
}

Mungkin itu saja, selebihnya jika ada perubahan atau update akan disampaikan melalui post ini.

Comments