Install the plugin Registration Blocker. In the plugin configuration (under Administration center → Plugins) put .uk (with the leading dot) in the "Email Domains" field and check the "Whitelist Email Domains" checkbox.
Full disclosure: I am co-author and current maintainer of that plugin.
Addendum:
Like I said in the comments, I'm not going to incorporate this in the official code, but if you're comfortable with making local changes, you could try replacing the following snippet (lines 106-128 in qa-registration-blocker.php):
if (in_array($email, $banned_emails)) {
return $this->translate('email_address_not_allowed');
}
$email_domain = $this->get_domain_from_email($email);
if ($whitelist_mode) {
if (!(in_array($email_domain, $topdomains) or $this->ends_with_any($email_domain, $subdomains))) {
return $this->translate('email_domain_not_allowed');
}
} else {
foreach ($uribl as $bl) {
if (preg_match('/^127\.0\.0\.[0-9]+$/', gethostbyname("${email_domain}.${bl}"))) {
return $this->translate('email_domain_not_allowed');
}
}
if (in_array($email_domain, $topdomains)) {
return $this->translate('email_domain_not_allowed');
}
if ($this->ends_with_any($email_domain, $subdomains)) {
return $this->translate('email_domain_not_allowed');
}
}
with these lines:
$email_domain = $this->get_domain_from_email($email);
if ($whitelist_mode) {
if (!(in_array($email, $banned_emails) or in_array($email_domain, $topdomains) or $this->ends_with_any($email_domain, $subdomains))) {
return $this->translate('email_address_not_allowed');
}
} else {
if (in_array($email, $banned_emails)) {
return $this->translate('email_address_not_allowed');
}
foreach ($uribl as $bl) {
if (preg_match('/^127\.0\.0\.[0-9]+$/', gethostbyname("${email_domain}.${bl}"))) {
return $this->translate('email_domain_not_allowed');
}
}
if (in_array($email_domain, $topdomains)) {
return $this->translate('email_domain_not_allowed');
}
if ($this->ends_with_any($email_domain, $subdomains)) {
return $this->translate('email_domain_not_allowed');
}
}
$banned_email is a misnomer in whitelist mode, but this is not an officially supported change anyway, so whatever.
And again, beware that with this change you have only regular expressions left to selectively blacklist e-mail addresses from allowed domains.