Regulärer Ausdruck zum Überprüfen der Website-URL

Ich muss die Webadresse mithilfe eines regulären Ausdrucks überprüfen.

Wenn Benutzer URL als eingeben

www.test.comhttp://www.test.comhttps://www.test.com

Ich habe einen regulären Ausdruck wie

/^(http\:\/\/[a-zA-Z0-9_\-]+(?:\.[a-zA-Z0-9_\-]+)*\.[a-zA-Z]{2,4}(?:\/[a-zA-Z0-9_]+)*(?:\/[a-zA-Z0-9_]+\.[a-zA-Z]{2,4}(?:\?[a-zA-Z0-9_]+\=[a-zA-Z0-9_]+)?)?(?:\&[a-zA-Z0-9_]+\=[a-zA-Z0-9_]+)*)$/

Es wird jedoch nur die zweite Option zugelassen. Wie kann ich den regulären Ausdruck so ändern, dass er auch die erste und dritte Option akzeptiert?