I suppose the answer is to provide enough help for the most novice user, while keeping this outside the line of attention of the expert user. So for me, I want to know which fields you need filling in, so give me a red asterisk, and I will fill in everything without any assistance, and work out what format of start and end date etc are wanted. However, for a novice, some help and hints to the right of the form lines will assist them in identifying what fields and what format they are required in. It might even make sense to have a picture of a card, and lines to indicate what information goes where. As long as it does not interfere with my inputs, whatever works.
And I would agree with and extend @Patrick, that entering the card number first, detecting the type, and then only asking for the relevant information, and indicating the relevant field length ( cvv is 3 characters except on amex where is it 4 ), to make the rest of the form easier to fill out for everyone.
I have built this functionality on a site. If I can do it, then it should be easy for others to - it isn't rocket science. And it makes it far easier to enter just the right data.