BUG: Regex .test returns different values when logged in console to the rest of code

I’ve been testing more and I’ve found the root of the issue:
using the following code

let description = /www\.[-a-zA-Z0-9@:%._\+~#=]{1,5}/gi;
$w('#url').onChange(() => {$w('#url').onCustomValidation((value, reject) => {
        console.log("description.test(value): " + description.test(value));
        console.log("description.test(value): " + description.test(value));
        console.log("description.test(value): " + description.test(value));
        console.log("description.test(value): " + description.test(value));
        console.log("description.test(value): " + description.test(value));
    })});

I get an output of this in my console

description.test(value): true                                               Line 39

description.test(value): false                                              Line 40

description.test(value): true                                               Line 41

description.test(value): false                                              Line 42

description.test(value): true                                               Line 43

This genuinely blew my mind. I don’t think I’ve ever seen anything like it in any programming language. Please fix it because its really annoying.