Encontrar repetición de caracteres en una cadena

 
Esta función recorre todos los caracteres de una cadena pasada, buscando caracteres repetidos, devolverá una cadena con todos los caracteres repetidos.

En el código de ejemplo, hace un bucle que va cogiendo carácter a carácter (con substr) y comprueba si ya se lo ha encontrado antes buscándolo en "sComparador" (con indexOf que devuelve -1 en caso de no encontrarlo o la posición de la primera aparición, comenzando por 0), en caso de estar en esta variable, es que se ha repetido, por lo que lo añade a "sRepetidos" que será la cadena que devuelva la función al final, en caso contrario lo añade a sComparador para comparar este carácter también en la siguiente búsqueda del bucle


En el HEAD:
<script language="javascript">
//Su explorador no soporta java o lo tiene deshabilitado; esta pagina necesita javascript para funcionar correctamente<!--
//Copyright © McAnam.com

    function sCaracteresrepetidos(sCadena){
        
        var sComparador = "";
        var sRepetidos = "";
        
        for (var iCont = 0 ; iCont < sCadena.length ; iCont++){
            if (sComparador.indexOf(sCadena.substr(iCont,1)) == -1){
                sComparador += sCadena.substr(iCont,1);
            }else{
                if (sRepetidos.indexOf(sCadena.substr(iCont,1)) == -1)
                    sRepetidos += sCadena.substr(iCont,1);
            }
        }
        
        return sRepetidos;
        
    }
//-->
</script>

En el BODY:
Introduce una cadena para buscar sus caracteres repetidos:
<input type="text" name="texto" id="texto">
<input type="button" value="Aceptar" onclick=" alert('Estos caracteres son los repetidos:\n'+sCaracteresrepetidos(document.getElementById('texto').value)) ">

Ejemplo:

Links relacionados:
Validar el formato de un C.I.F. pasado
Comprobar la dirección de correo


Para cualquier duda, consulta, sugerencia, opinión, colaboración, etc; no dude en ponerse en contacto con nosotros

Copyright © 2002-2017 [McAnam]. Reservados todos los derechos.
www.mcanam.com