Can the user add additional fields as needed?

Can the user add additional fields as needed?

Hey all,

What I would like to do is allow for multiples of select fields such as email adresses and phone numbers if needed. For example if someone has multiple email addresses you could fill in the first one then add an additional email address. It would be great if they could name the email with a tag of sorts like home, work etc. Is there a way to accomplish this? 

Thanks