You could set up a future dated subscription which would not capture the funds until that date - but currently it doesn't perform any validations on the card beyond making sure it looks like a valid number. You could make the initial purchase 1¢, which would make the card run through the gateway.

Another option would be to set the gateway to "Authorize only" in your store's settings. This will set every transaction in your store to not instantly capture funds from the customer but instead place a temporary authorisation on them. You would then need to log in to your gateway administration to manually capture those funds.

Each gateway is different in how long that authorisation lasts, but it can be anywhere from days to weeks. You would need to consult with your gateway to confirm how long their authorisations last for, and if then it would work for your needs. If the authorisation ends, the captured funds are released back to the customer, meaning you would need to charge the customer again to get those funds.