Valida Clave 2.0

HTML

<p>
Debe contener al menos 8 caracteres y contar con letras mayúsculas, minúsculas, números y un carácter de tipo @$!%*?&:.,;¿ 
</p>
Run <input type="text" id="rut" value="">
DV <input type="text" id="dv" value="">
Nombre <input type="text" id="mombre" value="" style="text-transform:uppercase">
<br>
<br> 
Clave
<input type="text" id="clave" maxlength="10">
<br>
<p id="expresion">

</p>
<br>
<input type="button" id="enviar" value="Enviar">

JavaScript

$("#clave").on('blur',function(){
	var rut= $("#rut").val();
	var dv= $("#dv").val();
	var mombre= $("#mombre").val();
	sismaule_valida_clave($(this).val(),"#clave",rut,dv,mombre);
});

function sismaule_valida_clave(clave,campo,rut,dv,nombre){
 //Cortar string nombre
  var usu_nombre = nombre.split(' ')[0]; 
  var usu_ap_pat = nombre.split(' ')[1]; 
  var usu_ap_mat = nombre.split(' ')[2]; 

  //Minuscula
  var usu_nombre_minus = usu_nombre.toLowerCase(); 
  var usu_ap_pat_minus = usu_ap_pat.toLowerCase(); 
  var usu_ap_mat_minus = usu_ap_mat.toLowerCase();
  
  //Capitalizar
  var usu_nombre_capital = usu_nombre_minus[0].toUpperCase() + usu_nombre_minus.slice(1) 
  var usu_ap_pat_capital = usu_ap_pat_minus[0].toUpperCase() + usu_ap_pat_minus.slice(1); 
  var usu_ap_mat_capital = usu_ap_mat_minus[0].toUpperCase() + usu_ap_mat_minus.slice(1); 

  //Parte de la cadena (ej: 17449443)
  var usu_rut_a=rut.substring(0,4); //1744
  var usu_rut_b=rut.substring(rut.length - 4); //9443
  var usu_rut_c=rut.substring(2,6); //4494
  var usu_rut_d=(rut+dv).substring((rut+dv).length - 4); //4436
 
  // Expresion regular
  var r1 =/^(?=.*\d)(?=.*[A-Z])(?=.*[@$!%*?&:.,;¿])/;
  var r2 = new RegExp('(?!.*?(?:'+rut+'|'+usu_rut_a+'|'+usu_rut_b+'|'+usu_rut_c+'|'+usu_rut_d+'|'+usu_nombre+'|'+usu_ap_pat+'|'+usu_ap_mat+'|'+usu_nombre_minus+'|'+usu_ap_pat_minus+'|'+usu_ap_mat_minus+'|'+usu_nombre_capital+'|'+usu_ap_pat_capital+'|'+usu_ap_mat_capital+')).*');
  var r3 =/(?!.*(.)\1)\S{8,10}$/;
  
  //Contatenar expresiones regulares
  var exreg = new RegExp(r1.source + r2.source + r3.source); 
  //$("#expresion").text(exreg);
  
  //Validar expresion regular
  var validar = clave.match(exreg);
  if(!validar){
	$("#criterios").css('display','inline');
    alert('La contraseña debe tener: \n -Entre 8 y 10 caracteres. \n -Al menos un dígito. \n -Al menos una minúscula. \n -Al menos una mayúscula. \n -Al menos un carácter @$!%*?&:.,;¿  \n -No tener caracteres repetidos consecutivos. \n -No...