viernes, 14 de octubre de 2016

JavaScript - Reemplazo de texto mediante Expresiones Regulares

Después de mucho tiempo me tome un tiempo para escribir algo mas para el blog, en este caso traigo una utilidad para los blogs. Muchas veces el spam agobia y como no tienes un servidor (y usas blogger) no puedes editar la base de datos de tu blog.

Así que te traigo una simple pero efectiva solución a tu problema:

<!DOCTYPE html>
<html>
<head>
    <script>
    window.onload = function (){ //Carga en cuanto termina de cargar la pagina.
        var resultado =
document.getElementById("comentarios").innerHTML.match(/[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/ig); //Conseguir un Array de los matches.
        for(var i = 0; i < resultado.length; i++) //Itera desde 0 hasta el maximo de resultado.
           
document.getElementById("comentarios").innerHTML = document.getElementById("comentarios").innerHTML.replace(resultado[i], "Link censurado"); //Reemplaza el texto.
    };
    </script>
</head>
<body>
    <div id="comentarios">
        <h1>google.com</h1>
        <br>texto sin url
        <br>blogger.com</div>
</body>
</html>


Listo para probar.

EDIT 16/10: Extrañamente el código no funcionaba acortándolo.

lunes, 18 de julio de 2016

JavaScript - Formas de llamar objetos

Los objetos en JavaScript tienen dos tipos de datos, las propiedades y los metodos.
Las propiedades son datos que se almancenan en forma de ID-Value, es decir, ID como el desencadenante y Value como resultado. Y los metodos son funciones que se expresan exactamente igual a las tradicionales, la diferencia esta en que cuando pertenece a un objeto se transforma en un metodo de objeto.

Ejemplos:
  • Object.property;

    var perro = {color: "Negro", cara: "Sonriente"};
    console.log(perro.color); // Negro
    console.log(perro.cara); // Sonriente
  • Object.method();

    var perro = {color: "Negro", esNegro: function () {
        if (this.color === "Negro"){
          console.log("Si");
        }
        else {
          console.log("No");
        }
      }
    };
    perro.esNegro();