I'm working on a JavaScript project that involves reading credit cards and driver's licenses from a USB magnetic stripe reader in keyboard emulation mode. It turns out getting credit cards working was extremely easy, as they're all in the same format. However it quickly became clear that driver's licenses are much harder, as even within a single state (CA) the format varies from one card to the next.
In any case, the goal is to take the raw data from swiping a driver's license (using a magnetic stripe reader) and extract the number from it, in a way that produces the correct number for as many U.S. states as possible (all 50 would be amazing). Worth mentioning is that I am not particularly concerned with validation, at least not at this point.
Has anyone else already done this, and packaged it all up in a library (either free or commercial) I could use? That would be awesome.
I should also note that while I'd love to see a JavaScript solution, in reality I'm open to investigating any solution, written in any language.