You can edit/create /includes/modules/YOUR_TEMPLATE/create_account.php to implement this functionality. Look for the following code fragment:
Code:
if (strlen($postcode) < ENTRY_POSTCODE_MIN_LENGTH) {
$error = true;
$messageStack->add('create_account', ENTRY_POST_CODE_ERROR);
}
and change it to:
Code:
if (strlen($postcode) < ENTRY_POSTCODE_MIN_LENGTH) {
$error = true;
$messageStack->add('create_account', ENTRY_POST_CODE_ERROR);
} else {
if (!defined(ENTRY_POST_CODE_NO_DELIVER)) {
define('ENTRY_POST_CODE_NO_DELIVER', "Sorry, we are not accepting accounts in your zip-code at this time.");
}
if (!defined(ENTRY_POSTCODE_LIST)) {
define('ENTRY_POSTCODE_LIST', 'comma-separated list of zip-codes, no spaces');
}
if (!in_array($postcode,explode(',', ENTRY_POSTCODE_LIST))) {
$error = true;
$messageStack->add('create_account', ENTRY_POST_CODE_NO_DELIVER);
}
}
Just set the ENTRY_POSTCODE_LIST variable to contain the list of zip-codes that your store supports ... and make sure that you make it clear to potential customers that you only support accounts for customers in those zip-codes!