Many times I use (\d\d?)\s?(\/)\s?(\d\d?)\s?(\/)\s?(\d\d\d?\d?) when I scan dates. I've found that certain combinations of numbers will leave an extra space before or after the slash.
If it's a QF agent session I also scan into a text field and then convert that text field to a date field in workflow. This way if it's an invalid date (maybe it scans 12/24/2013 as 12/74/2013) it doesn't get "stuck" in quick fields. This is even easier with QF9 since you can pass that to workflow as a token.
Inside workflow you can use the date token calculator to parse out the date by using this:
(\d\d?)\/\d\d?\/\d\d\d?\d?
For month, day and year you use the same pattern match above but just move the () to the correct number set. Then just do a check to make sure that token has a date now (to make sure it was successful) and route it to a failure process for manual entry if it fails.
Now you have nothing that gets stuck in the QF session!
Edit: now that I am in the office I thought I'd show you how it looks in Date token calculator:

And here's a simple workflow screenshot:
