RegEx pour extraire des paramètres à partir de l'url de hachage en JavaScript

Mon url ressemblera à:

http://example.com/whatever#page?x=1&locale=hu&y=2
http://example.com/whatever#page?x=1&locale=hu
http://example.com/whatever#page?locale=hu
http://example.com/whatever#page?locale=
http://example.com/whatever#page?x=1
http://example.com/whatever#page
http://example.com/whatever

Je voudrais obtenir le paramètre locale ou une chaîne vide si elle n'est pas définie.

Je suis en train d'essayer quelque chose comme:

locale = location.hash.replace(/.*(?:[?&]locale=([^&]*))?.*/, "$2");

Mais mon problème est que je n'arrivais pas à trouver le bon RegExp qui fonctionne pour tous les cas (à la fois quand il y a locale= dans la table de hachage et quand il n'y en a pas)

InformationsquelleAutor Gavriel | 2012-05-16