This project aims to understand user agent strings and extract all possible information. The plan is to do this in a very exact manner, which means that the checks will be very explicit, and hopefully one day done, but that maybe a dream. The effort to adapt and extend the parser will probably be needed for a while, new user agents will come around and a real specification for them doesn't exist either.
ranzwertig/UserAgentParser
Project that "understands" a User Agent, takes it apart and makes what it understands useable.
JavaScript