function validar (formulario)
{
  var expreg = new RegExp (formulario.patron.value),
      cadena=formulario.cadena.value;
  
  if (expreg == "" || cadena == "") {
    window.alert("Introducir una expresión regular\n" +
                 "y una cadena a validar.");
		 
    return false;
  }
  
  formulario.cadena.focus();
 
  if (expreg.test(cadena) ) {
    window.alert("Aceptar: " + cadena + "\n\n" +  // subcadenas reconocidas
      (RegExp.$1==""?"":"RegExp.$1="+RegExp.$1+"\n")+
      (RegExp.$2==""?"":"RegExp.$2="+RegExp.$2+"\n")+
      (RegExp.$3==""?"":"RegExp.$3="+RegExp.$3+"\n")+
      (RegExp.$4==""?"":"RegExp.$4="+RegExp.$4+"\n")+
      (RegExp.$5==""?"":"RegExp.$5="+RegExp.$5+"\n")+
      (RegExp.$6==""?"":"RegExp.$6="+RegExp.$6+"\n")+
      (RegExp.$7==""?"":"RegExp.$7="+RegExp.$7+"\n")+
      (RegExp.$8==""?"":"RegExp.$8="+RegExp.$8+"\n")+
      (RegExp.$9==""?"":"RegExp.$9="+RegExp.$9));
      
    return false;
  }

  window.alert("¡ Error !\n\nRechazar: " + cadena);
  formulario.cadena.select();
  
  return false;
}
