La vérification de majuscules/minuscules/chiffres avec Jquery

Soit je suis vraiment attardé ici ou c'est juste le manque de sommeil, mais pourquoi ne pas ce travail? Si j'utilise l'opérateur "ou" cela fonctionne pour chaque test, mais dès qu'il le changer pour l'opérateur "et" il s'arrête de fonctionner.

Je suis en train de tester le mot de passe de saisie d'un formulaire pour voir si sa contient une minuscule, une majuscule et au moins 1 numéro de symbole. Je vais avoir beaucoup de mal avec cette sorte d'aide serait joli, voici le code que j'ai.

var upperCase= new RegExp('[^A-Z]');
var lowerCase= new RegExp('[^a-z]');
var numbers = new RegExp('[^0-9]');

if(!$(this).val().match(upperCase) && !$(this).val().match(lowerCase) && !$(this).val().match(numbers))    
{
    $("#passwordErrorMsg").html("Your password must be between 6 and 20 characters. It must contain a mixture of upper and lower case letters, and at least one number or symbol.");
}
else
{
    $("#passwordErrorMsg").html("OK")
}

OriginalL'auteur user1725794 | 2012-10-06