Hola Luis,
No Termino de entender la validación exacta que buscas, hay multitud de expresiones regulares para preguntar si un String contiene X o B etc.
Aun así tendrás que cambiar if(expreg.test(document.getElementById('clave')) por if(expreg.test(document.getElementById('clave').value) dado que estas preguntando por el atributo value del objeto.
Si me aclaras un poco lo que buscas creo que puedo ayudarte; por otro lado te comento que javascript poco tiene que ver con php o java, estos dos últimos son lenguajes del lado servidor. Una aplicación suele tener código cliente como puede ser html/javascript/css y por otro servidor, que suelen ser php, java, ruby y millones más.
Normalmente existen dos tipos de validaciones, cliente y servidor, dado que en cliente se puede manipular el código con herramientas para desarrolladores que tienen los navegadores.
Un saludo! y te animo encarecidamente a que te peles con javascript, es el pasado/presente/futuro de internet.