I would use parse_date_time
from lubridate
package, for example:
dates.toparse <- c("2013-11-04","" ,"90-Smarch-13","2012-05-04")
## parse dates , I give the correct format here %Y-%m-%d
(dates.parsed <- parse_date_time(dates.toparse,orders="Y-m-d"))
[1] "2013-11-04 UTC" NA NA "2012-05-04 UTC"
## to locate bad foarmatted elements
dates.toparse[is.na(dates.parsed)]
[1] "" "90-Smarch-13"
## or by indices
which(is.na(dates.parsed))
[1] 2 3