JavaScript comment vérifier l'agent d'utilisateur pour mobile / tablette

Je suis en train de développer certaines JS travailler pour un site web clients qui a différentes fonctionnalités sur desktop et tablette plates-formes. Considérer:

if(! navigator.userAgent.match(/Android/i) &&
            ! navigator.userAgent.match(/webOS/i) &&
            ! navigator.userAgent.match(/iPhone/i) &&
            ! navigator.userAgent.match(/iPod/i) &&
            ! navigator.userAgent.match(/iPad/i) &&
            ! navigator.userAgent.match(/Blackberry/i) )
    {
        //do desktop stuff

    } else if ( navigator.userAgent.match(/iPad/i) ) 
    {
       //do tablet stuff

    }

Actuellement, je suis la seule vérification de l'iPad comme la vérification du mot "android" semble quelque peu problématique, et est un terme très large. Est-il une méthode connue permettant de distinguer entre les tablettes Android & mobile à l'aide du JS?

Merci beaucoup,
Myles

source d'informationauteur Myles