Dovresti controllare la stringa carattere per carattere e verificare che ciascuno di essi sia compreso nel range di caratteri ASCII dal 48 al 57 per i numeri, dal 65 al 90 per le lettere maiuscole e dal 97 al 122 per quelle minuscole...
Credo che la scelta delle regexp rimanga la migliore.

Roby