<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Fernando Campos - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Descubre miles de cursos de programación escritos por expertos. Aprende Desarrollo Web, Ciencia de Datos, DevOps, Seguridad y obtén asesoramiento profesional para desarrolladores. ]]>
        </description>
        <link>https://www.freecodecamp.org/espanol/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Fernando Campos - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/espanol/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 09 May 2026 13:42:03 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/espanol/news/author/ferchodev/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Cómo copiar texto al portapapeles con JavaScript ]]>
                </title>
                <description>
                    <![CDATA[ Cuando estás construyendo páginas web y aplicaciones avanzadas, a veces querrás añadir la función de copiar. Esto permite a tus usuarios simplemente hacer clic en un botón o ícono para copiar texto en lugar de resaltar el texto y presionar un par de botones en el teclado. Esta característica se ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/como-copiar-texto-al-portapapeles-con-javascript/</link>
                <guid isPermaLink="false">652f0555be1eb103de683b0c</guid>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web API ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Fernando Campos ]]>
                </dc:creator>
                <pubDate>Mon, 23 Oct 2023 07:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2023/10/cover-template--14-.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artículo original:</strong> <a href="https://www.freecodecamp.org/news/copy-text-to-clipboard-javascript/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Copy Text to the Clipboard with JavaScript</a>
      </p><p>Cuando estás construyendo páginas web y aplicaciones avanzadas, a veces querrás añadir la función de copiar. Esto permite a tus usuarios simplemente hacer clic en un botón o ícono para copiar texto en lugar de resaltar el texto y presionar un par de botones en el teclado.</p><p>Esta característica se utiliza principalmente cuando alguien necesita copiar un código de activación, clave de recuperación, fragmento de código, etc. También puedes añadir funcionalidades como una alerta o texto en la pantalla (que podría ser un modal) para informar al usuario que el texto ha sido copiado a su portapapeles.</p><p>Anteriormente, habrías manejado esto usando <code>document.execCommand()</code>, pero ese método está obsoleto (ya no se recomienda). Ahora puedes usar la API de Clipboard (portapateles), que te permite responder a comandos de portapapeles (cortar, copiar y pegar) y leer y escribir de forma asíncrona en el portapapeles del sistema.</p><p>En este artículo, aprenderás cómo escribir (copiar) texto e imágenes al portapapeles con la API de Clipboard.</p><p>En caso de que tengas prisa, aquí está el código:</p><pre><code class="language-HTML">&lt;p id="miTexto"&gt;Hola Mundo&lt;/p&gt;
&lt;button class="btn" onclick="copiarContenido()"&gt;¡Copiar!&lt;/button&gt;

&lt;script&gt;
  let texto = document.getElementById('miTexto').innerHTML;
  const copiarContenido = async () =&gt; {
    try {
      await navigator.clipboard.writeText(texto);
      console.log('Contenido copiado al portapapeles');
    } catch (err) {
      console.error('Error al copiar: ', err);
    }
  }
&lt;/script&gt;</code></pre><p>Si no tienes prisa, profundicemos en la API y veamos cómo funciona esto con un proyecto de demostración.</p><h3 id="c-mo-verificar-los-permisos-del-navegador"><strong>Cómo verificar los permisos del Navegador</strong></h3><p>Es importante saber que la API de Clipboard sólo es compatible con páginas servidas a través de HTTPS. También debes verificar los permisos del navegador antes de intentar escribir en el portapapeles para confirmar si tienes acceso de escritura. Puedes hacerlo con la consulta <code>navigator.permissions</code>:</p><pre><code class="language-JavaScript">navigator.permissions.query({ name: "write-on-clipboard" })
.then((resultado) =&gt; {
  if (resultado.state == "granted" || resultado.state == "prompt") {
    alert("¡Permiso de escritura concedido!");
  }
});</code></pre><h3 id="c-mo-copiar-texto-al-portapapeles"><strong>Cómo copiar texto al portapapeles</strong></h3><p>Para copiar texto, usarás el método asíncrono <code>writeText()</code>. Este método acepta solo un parámetro: el texto que se copiará en tu portapapeles. Esto puede ser una cadena de texto, un template literal que contenga variables y otras cadenas de texto, o una variable utilizada para almacenar una cadena de texto.</p><p>Dado que este método es asíncrono, devuelve una promesa. Esta promesa se resuelve si el portapapeles ha sido actualizado con éxito y se rechaza en caso contrario:</p><pre><code class="language-JavaScript">navigator.clipboard.writeText("Este es el texto a copiar")
.then(() =&gt; {
  console.log('Contenido copiado al portapapeles');
  /* Resuelto - texto copiado al portapapeles con éxito */
},() =&gt; {
  console.error('Error al copiar');
  /* Rechazado - fallo al copiar el texto al portapapeles */
});</code></pre><p>También puedes usar async/await junto con try/catch:</p><pre><code class="language-JavaScript">async function copiarContenido() {
  try {
    await navigator.clipboard.writeText('Este es el texto a copiar');
    console.log('Contenido copiado al portapapeles');
    /* Resuelto - texto copiado al portapapeles con éxito */
  } catch (err) {
    console.error('Error al copiar: ', err);
    /* Rechazado - fallo al copiar el texto al portapapeles */
  }
}</code></pre><h3 id="ejemplo-de-c-mo-copiar-texto-al-portapapeles"><strong>Ejemplo de cómo copiar texto al portapapeles</strong></h3><p>Aquí hay una demostración que muestra cómo funciona usando un ejemplo de la vida real. En este ejemplo, estamos obteniendo citas de una API pública. Luego, cuando haces clic en el ícono de copiar, se copia la cita junto con su autor, mostrando que puedes ajustar lo que copias en el método <code>writeText()</code>.</p><figure class="kg-card kg-embed-card"><iframe id="cp_embed_MWGLXyX" src="https://codepen.io/olawanlejoel/embed/preview/MWGLXyX?default-tabs=css%2Cresult&amp;height=300&amp;host=https%3A%2F%2Fcodepen.io&amp;slug-hash=MWGLXyX" title="copy text JS" scrolling="no" frameborder="0" height="300" allowtransparency="true" class="cp_embed_iframe" style="width: 100%; overflow: hidden;" loading="lazy"></iframe></figure><h3 id="conclusi-n"><strong>Conclusión</strong></h3><p>En este artículo, has aprendido cómo copiar texto al portapapeles con JavaScript utilizando la API de Clipboard sin tener que pensar demasiado o instalar alguna biblioteca de JavaScript.</p><p>¡Diviértete programando!</p><p>¡Embárcate en un viaje de aprendizaje! <a href="https://joelolawanle.com/contents">Explora más de 200 artículos expertos sobre desarrollo web</a>. Visita <a href="https://joelolawanle.com/posts">mi blog</a> para más contenido cautivador de mi parte.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Cómo comprobar si una cadena de JavaScript es una URL válida ]]>
                </title>
                <description>
                    <![CDATA[ Una URL, o Localizador Uniforme de Recursos -por sus siglas en inglés-, es un texto utilizado para identificar recursos como páginas web, imágenes y videos en internet. Comúnmente nos referimos a las URL como direcciones de sitios web y se utilizan para transferencia de archivos, correos electrónicos y otras aplicaciones. ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/como-comprobar-si-una-cadena-de-javascript-es-una-url-valida/</link>
                <guid isPermaLink="false">6491d5479764040891b7eaf3</guid>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Fernando Campos ]]>
                </dc:creator>
                <pubDate>Fri, 14 Jul 2023 19:51:20 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2023/06/url-javascript-cover.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artículo original:</strong> <a href="https://www.freecodecamp.org/news/check-if-a-javascript-string-is-a-url/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Check if a JavaScript String is a Valid URL</a>
      </p><p>Una URL, o Localizador Uniforme de Recursos -por sus siglas en inglés-, es un texto utilizado para identificar recursos como páginas web, imágenes y videos en internet.</p><p>Comúnmente nos referimos a las URL como direcciones de sitios web y se utilizan para transferencia de archivos, correos electrónicos y otras aplicaciones.</p><p>Las URL constan de varias partes, como el protocolo, el nombre de dominio, y así sucesivamente, que le indican al navegador cómo y dónde recuperar el recurso.</p><p>En JavaScript, es posible que necesites usar una URL en las etiquetas, anchor o botones para vincular al usuario con otra página web. En tales situaciones, esta cadena de URL debe verificarse para asegurarse de que sea una URL válida.</p><p>Este tutorial te enseñará algunas formas de comprobar si una cadena de JavaScript es una URL válida.</p><h2 id="c-mo-verificar-si-una-cadena-es-una-url-v-lida-utilizando-expresiones-regulares-regex-">Cómo verificar si una cadena es una URL válida utilizando expresiones regulares (regex)</h2><p>Las expresiones regulares son patrones que coinciden con combinaciones de caracteres en una cadena. En JavaScript, las expresiones regulares también se conocen como objetos que proporcionan diferentes métodos para realizar varias operaciones.</p><p>Puedes construir una expresión regular de dos maneras:</p><ul><li>Usando literales de expresiones regulares</li><li>Usando constructores de expresiones regulares</li></ul><p><strong>Nota:</strong> Es apropiado utilizar el método de expresiones regulares solo cuando deseas verificar si una cadena es una URL válida y no deseas crear ningún otro objeto adicional.</p><p>Aprendamos cómo funcionan estos dos métodos.</p><h3 id="c-mo-usar-literales-de-expresiones-regulares">Cómo usar literales de expresiones regulares</h3><p>En un literal de expresión regular, el patrón está encerrado entre barras /…/, como se muestra a continuación.</p><p>El patrón incluye la validación de las partes necesarias en la URL. Por ejemplo, un protocolo, <code>https</code>, un <code>//</code>, y así sucesivamente.</p><pre><code>const patronURL = /(?:https?):\/\/(\w+:?\w*)?(\S+)(:\d+)?(\/|\/([\w#!:.?+=&amp;%!\-\/]))?/;
</code></pre><h3 id="c-mo-usar-un-constructor-de-expresiones-regulares">Cómo usar un constructor de expresiones regulares</h3><p>Para crear una expresión regular usando el método de construcción, usa el constructor <code>RegExp()</code> y pase el patrón como parámetro.</p><pre><code>const patronURL = new RegExp('(?:https?):\/\/(\w+:?\w*)?(\S+)(:\d+)?(\/|\/([\w#!:.?+=&amp;%!\-\/]))?');
</code></pre><p>Para demostrar cómo validar si una cadena es una URL, crearemos un método que validará una cadena JavaScript usando el constructor de expresiones regulares y devolverá <code>true</code> o <code>false</code> según el patrón coincidente.</p><pre><code class="language-js">const isValidURL = urlString =&gt; {
	  	var patronURL = new RegExp(
            // valida protocolo
            '^(https?:\\/\\/)?'+
            // valida nombre de dominio
	    	'((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|'+
            // valida OR direccion ip (v4)
	    	'((\\d{1,3}\\.){3}\\d{1,3}))'+
            // valida puerto y path
		    '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+
            // valida queries
		    '(\\?[;&amp;a-z\\d%_.~+=-]*)?'+
            // valida fragment locator
	    	'(\\#[-a-z\\d_]*)?$','i'); 
	  	return !!patronURL.test(urlString);
	}
</code></pre><h3 id="c-mo-usar-expresiones-regulares-para-validar-una-cadena-de-url">Cómo usar expresiones regulares para validar una cadena de URL</h3><p>El siguiente código demuestra cómo validar diferentes cadenas de URL utilizando el método anterior:</p><pre><code>var url = "invalidURL";
console.log(isValidUrl(url));      //false

var url = "htt//jsowl";            
console.log(isValidUrl(url));      //false

var url = "www.jsowl.com";         
console.log(isValidUrl(url));      //true

var url = "&lt;https://www.jsowl.com&gt;"; 
console.log(isValidUrl(url));      //true

var url = "&lt;https://www.jsowl.com/remove-an-item-from-an-array-in-javascript/&gt;";
console.log(isValidUrl(url));      //true
</code></pre><h2 id="c-mo-comprobar-si-una-cadena-es-una-url-v-lida-utilizando-el-constructor-url">Cómo comprobar si una cadena es una URL válida utilizando el constructor URL</h2><p>También puedes utilizar el constructor URL para comprobar si una cadena es una URL válida.</p><p>El <a href="https://developer.mozilla.org/es/docs/Web/API/URL">constructor URL</a> (<code>new URL(url)</code>) devuelve un objeto URL recién creado definido por los parámetros URL.</p><p>Se produce una excepción <a href="https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/TypeError"><code>TypeError</code></a> de JavaScript si la URL proporcionada no es válida.</p><p><strong>Nota:</strong> Es apropiado utilizar este método cuando deseas construir un objeto URL en el programa para su uso posterior.</p><h3 id="sintaxis-del-constructor-url">Sintaxis del constructor URL</h3><p>La siguiente sintaxis explica cómo crear un objeto URL con una cadena JavaScript.</p><pre><code>new URL(url);
new URL(url, base);

</code></pre><p>Donde,</p><ul><li><code>url</code> es una cadena de caracteres o cualquier objeto con un <a href="https://developer.mozilla.org/en-US/docs/Glossary/Stringifier">stringifier</a> que representa una URL absoluta o relativa. Si la <strong>URL</strong> es absoluta, se ignorará la <strong>base</strong>. Si la <strong>URL</strong> es relativa, la <strong>base</strong> es requerida.</li><li><code>base</code> (opcional) es una cadena que representa la URL base. Debe ser pasada cuando la URL es relativa. Por defecto, es <em>undefined</em> cuando se ignora.</li></ul><h3 id="ejemplo-del-m-todo-constructor-de-url">Ejemplo del método constructor de URL</h3><p>Para demostrar cómo funciona el método constructor de URL, creemos una función lambda en JavaScript para construir una nueva URL con la cadena pasada.</p><ul><li>Si la cadena es una URL válida, se crea un objeto URL y se devuelve <code>true</code>.</li><li>Si la cadena no es una URL válida, se lanza una excepción <code>TypeError</code> y se devuelve <code>false</code>.</li></ul><pre><code>const isValidUrl = urlString =&gt; {
      try {
      	return Boolean(new URL(urlString));
      }
      catch(e){
      	return false;
      }
  }

</code></pre><h3 id="c-mo-usar-el-m-todo-isvalidurl-">Cómo usar el método <code>isValidURL()</code></h3><p>Vamos a invocar el método <code>isValidURL()</code> con diferentes tipos de cadenas y ver los resultados.</p><pre><code>  var url = "invalidURL";
  console.log(isValidUrl(url));     //false

  var url = "htt//jsowl";
  console.log(isValidUrl(url));     //false

  var url = "www.jsowl.com";
  console.log(isValidUrl(url));     //false

  var url = "tcp://www.jsowl.com";
  console.log(isValidUrl(url));     //true

  var url = "&lt;https://www.jsowl.com/remove-an-item-from-an-array-in-javascript/&gt;";
  console.log(isValidUrl(url));     //true

</code></pre><p>En los primeros tres casos, se puede ver que se pasa <em>una cadena de URL no válida</em>. Como resultado, la creación del objeto URL falla con un <code>TypeError</code> y se devuelve <code>false</code>.</p><p>En los dos últimos casos, se pasa <em>una cadena de URL válida</em>. Así que se crea un objeto <code>URL</code> con éxito, y se devuelve <code>true</code>, confirmando que la URL es correcta.</p><p>Veamos un ejemplo más para validar una parte específica de la URL.</p><p>En este ejemplo, se está validando un protocolo específico en la URL. La URL debe contener el protocolo <code>http</code> o <code>https</code>.</p><pre><code>	const isValidUrl = urlString =&gt; {
		let url;
		try {
	      	url = new URL(urlString);
	    }
	    catch(e){
	      return false;
	    }
	    return url.protocol === "http:" || url.protocol === "https:";
	}

</code></pre><h3 id="ejemplo-de-c-mo-validar-parte-de-una-url">Ejemplo de cómo validar parte de una URL</h3><p>Invoquemos el método <code>isValidURL()</code> con diferentes tipos de cadenas y protocolos para ver los resultados.</p><pre><code>var url = "tcp://www.jsowl.com";
console.log(isValidUrl(url));      //false

var url = "&lt;https://www.jsowl.com&gt;";
console.log(isValidUrl(url));      //true

</code></pre><p>En el primer caso, la cadena de URL <em>(tcp://www.jsowl.com)</em> es válida, pero no contiene un protocolo específico (<code>HTTP</code>/<code>HTTPS</code>). Por lo tanto, devuelve <em>falso</em>.</p><p>En el segundo caso, la cadena de URL <em><a href="https://www.jsowl.com">https://www.jsowl.com</a></em> es <em>válida</em> y contiene el protocolo específico, como resultado, devuelve <em>verdadero</em>.</p><h2 id="c-mo-comprobar-si-una-cadena-es-una-url-v-lida-utilizando-un-elemento-de-entrada">Cómo comprobar si una cadena es una URL válida utilizando un elemento de entrada</h2><p>HTML admite un elemento de entrada <code>&lt;input&gt;</code> con el tipo <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/url">url</a>, específicamente para representar valores de URL.</p><p>El atributo <code>value</code> del elemento <code>&lt;input&gt;</code> que contiene la cadena se válida automáticamente mediante la coincidencia de la sintaxis de la URL (<em>tiene una URL vacía o bien formada</em>) antes de que se pueda enviar el formulario.</p><p>El método <code><a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/checkValidity">HTMLInputElement.checkValidity()</a></code> se utiliza para comprobar si una cadena en el atributo <code>value</code> del elemento <code>&lt;input&gt;</code> es una <code>URL</code>. El método <code>checkvalidity()</code> devuelve <code>true</code> si el valor es una URL adecuada y <code>false</code> si la entrada no es una URL adecuada.</p><p>Creemos un método que cree un elemento de input tipo <code>URL</code> y valide la entrada utilizando el método <code>checkValidity()</code>.</p><pre><code>    const isValidUrl = urlString =&gt; {
      var inputElement = document.createElement('input');
      inputElement.type = 'url';
      inputElement.value = urlString;

      if (!inputElement.checkValidity()) {
        return false;
      } else {
        return true;
      }
    }

</code></pre><p>Ahora usemos este método y validemos diferentes cadenas para verificar si son URL válidas.</p><pre><code>var url = "invalidURL";
console.log(isValidUrl(url));     //false

var url = "htt//jsowl";
console.log(isValidUrl(url));     //false

var url = "www.jsowl.com";
console.log(isValidUrl(url));     //false

var url = "&lt;https://www.jsowl.com&gt;";
console.log(isValidUrl(url));     //true

var url = "&lt;https://www.jsowl.com/remove-an-item-from-an-array-in-javascript/&gt;";
console.log(isValidUrl(url));     //true

</code></pre><p>Así es como se puede usar el método de tipo de entrada para comprobar si una cadena es una URL válida.</p><h2 id="c-mo-comprobar-si-una-cadena-es-una-url-v-lida-usando-el-m-todo-de-etiqueta-anchor">Cómo comprobar si una cadena es una URL válida usando el método de etiqueta anchor</h2><p>Esta sección te enseña cómo usar el <a href="https://developer.mozilla.org/es/docs/Web/API/HTMLAnchorElement">HTMLAnchorElement</a> para comprobar si una cadena JavaScript es una URL.</p><p><strong>Nota:</strong> Es apropiado usar este método cuando quieras asignar una URL a la etiqueta <code>anchor</code> de tu sitio web y asegurarte de que la cadena de la URL sea válida y se asigne correctamente a la etiqueta <code>anchor</code>.</p><p>La interfaz <code>HTMLAnchorElement</code> representa los elementos de hipervínculo. Proporciona propiedades y métodos especiales para manipular el diseño y la presentación de tales elementos. También se llama etiqueta anchor.</p><p>Puedes asignar una URL a una anchor usando el atributo <code>href</code>. Al asignar...</p><ul><li>Si se pasa una cadena URL válida, se asigna a la etiqueta anchor.</li><li>Si se pasa una URL no válida, se asigna la ubicación actual del navegador a la etiqueta anchor.</li><li>Por defecto, la etiqueta anchor tendrá una URL vacía ("").</li></ul><p>Una vez asignada la URL, puedes extraer una parte específica de la URL usando los atributos que se explican a continuación.</p><!--kg-card-begin: html--><table>
<thead>
<tr>
<th>ATRIBUTO DE ELEMENTO HTML ANCHOR</th>
<th>USO</th>
</tr>
</thead>
<tbody>
<tr>
<td>host</td>
<td>una cadena que representa el nombre de host y el puerto</td>
</tr>
<tr>
<td>hostname</td>
<td>una cadena que representa el nombre de host</td>
</tr>
<tr>
<td>href</td>
<td>una cadena que contiene una URL válida</td>
</tr>
<tr>
<td>origin</td>
<td>devuelve una cadena que contiene el origen, su esquema, nombre de dominio y puerto</td>
</tr>
<tr>
<td>port</td>
<td>una cadena que representa el puerto si se especificó</td>
</tr>
<tr>
<td>protocol</td>
<td>una cadena que representa el protocolo, incluyendo el signo de dos puntos (':')</td>
</tr>
<tr>
<td>pathname</td>
<td>una cadena que contiene la ruta URL desde "/" inicial y sin incluir la cadena de consulta</td>
</tr>
</tbody>
</table><!--kg-card-end: html--><p>Ahora, veamos cómo comprobar si la cadena asignada es una URL adecuada.</p><p>Si fuera una URL adecuada, se asignaría a la etiqueta anchor. De lo contrario, se asignará la ubicación actual del navegador a la etiqueta.</p><p>Para comprobar si es una URL adecuada, puede comprobar si el atributo <code>host</code> de la etiqueta anchor NO es igual a la ubicación actual mediante la declaración <code>a.host != window.location.host</code>.</p><p>Veamos el código.</p><p>Creamos una función lambda y la asignamos a la constante <code>isValidUrl</code> en el siguiente código.</p><p>La función crea un elemento anchor y asigna la cadena URL. Después, comprueba si el atributo <code>host</code> del elemento es <code>null</code> o no está definido.</p><p>Si no es <code>null</code>, comprueba si el atributo <code>host</code> NO es igual a la URL del navegador actual y devuelve <code>true</code> cuando no es igual.</p><p>Esto se debe a que si la URL pasada era válida, entonces la etiqueta anchor tendrá el valor de la URL. Pero si la URL pasada era inválida, la etiqueta tendrá la ubicación actual del navegador. En este caso, la función lambda devuelve <code>false</code>.</p><pre><code>const isValidUrl = urlString =&gt; {
  	var a  = document.createElement('a');
   	a.href = urlString;
   	return (a.host &amp;&amp; a.host != window.location.host);
  }

</code></pre><p>Los siguientes fragmentos de código invocan la función lambda <code>isValidUrl()</code> con diferentes entradas e imprimen la salida correspondiente en la consola.</p><pre><code>  var url = "invalidURL";
  console.log("1.AnchorTag: " + isValidUrl(url));    //false

  var url = "htt//jsowl";
  console.log("2.AnchorTag: " + isValidUrl(url));    //false

  var url = "www.jsowl.com";
  console.log("3.AnchorTag: " + isValidUrl(url));    //false

  var url = "&lt;https://www.jsowl.com&gt;";
  console.log("4.AnchorTag: " + isValidUrl(url));    //true

  var url = "&lt;https://www.jsowl.com/remove-an-item-from-an-array-in-javascript/&gt;";
  console.log("5.AnchorTag: " + isValidUrl(url));    //true

</code></pre><p>Este tutorial está disponible en <a href="https://jsfiddle.net/jsowl/mvzqh4of/266/">este</a> JSFiddle.</p><h1 id="conclusi-n"><strong>Conclusión</strong></h1><p>En este artículo, has aprendido cómo comprobar si una cadena de JavaScript es una <code>URL</code> utilizando diferentes métodos y cuándo es apropiado utilizar cada método.</p><p>Si te ha gustado este artículo, no dudes en compartirlo.</p><p><br></p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Comprueba si un elemento está en un arreglo en JavaScript : JS cuenta con arreglo.includes() ]]>
                </title>
                <description>
                    <![CDATA[ Puedes usar el método includes() en JavaScript para verificar si un elemento existe dentro de un arreglo. También puedes usarlo para verificar si un substring existe dentro de una cadena de texto. Devuelve true si el elemento se encuentra en el arreglo/cadena y false si el elemento no existe. En ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/comprueba-si-un-elemento-esta-en-un-arreglo-en-javascript-js-cuenta-con-arreglo-includes/</link>
                <guid isPermaLink="false">648365834ecd43077f3f5e7e</guid>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Fernando Campos ]]>
                </dc:creator>
                <pubDate>Mon, 26 Jun 2023 18:06:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2023/06/freecodecamp-post.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artículo original:</strong> <a href="https://www.freecodecamp.org/news/check-if-an-item-is-in-an-array-in-javascript-js-contains-with-array-includes/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Check if an Item is in an Array in JavaScript – JS Contains with Array.includes()</a>
      </p><p>Puedes usar el método <code>includes()</code> &nbsp;en JavaScript para verificar si un elemento existe dentro de un arreglo. También puedes usarlo para verificar si un substring existe dentro de una cadena de texto.</p><p>Devuelve <code>true</code> si el elemento se encuentra en el arreglo/cadena y <code>false</code> si el elemento no existe.</p><p>En este artículo, verás cómo utilizar el método <code>includes()</code> en JavaScript para comprobar si un elemento está en un arreglo, y si un substring existe dentro de una cadena.</p><h2 id="c-mo-verificar-si-un-elemento-est-en-un-arreglo-en-javascript-utilizando-arreglo-includes-">Cómo verificar si un elemento está en un arreglo en JavaScript utilizando<strong> <code>arreglo.includes()</code></strong></h2><p>Esta es la sintaxis para utilizar el método <code>includes()</code> y verificar si un elemento está en un arreglo:</p><pre><code class="language-txt">arreglo.includes(elemento, indiceInicial)</code></pre><p>Desglosemos la sintaxis anterior:</p><p><code>arreglo</code> representa el nombre del arreglo en el que se buscará para verificar si un elemento existe.</p><p>El método <code>includes()</code> recibe dos parámetros: <code>elemento</code> e <code>indiceInicial</code>.</p><ul><li><code>elemento</code> es el elemento específico que estás buscando.</li><li><code>indiceInicial</code>, que es un parámetro opcional, especifica el índice desde el cual iniciar la búsqueda. Si no incluyes este parámetro, el índice predeterminado será <code>0</code> (el primer índice).</li></ul><p>Aquí hay algunos ejemplos para mostrar cómo usar el método <code>includes()</code> para verificar si un elemento existe en un arreglo:</p><pre><code class="language-javascript">const numeros = [ 1, 3, 5, 7];
console.log(numeros.includes(3));
// true</code></pre><p>En el ejemplo anterior, creamos un arreglo llamado <code>numeros</code> con cuatro números: 1, 3, 5, 7. </p><p>Usando la notación de punto, adjuntamos el método <code>includes()</code> al arreglo <code>numeros</code>. </p><p>En el parámetro del método <code>includes()</code>, pasamos <code>3</code>. Este es el elemento que queremos buscar.</p><p>Obtuvimos <code>true</code> porque <code>3</code> existe en el arreglo <code>numeros</code>. </p><p>Intentemos buscar un número que no existe en el arreglo.</p><pre><code class="language-javascript">const numeros = [ 1, 3, 5, 7];
console.log(numeros.includes(8));
// false
</code></pre><p>Como se esperaba, obtuvimos <code>false</code> en el ejemplo anterior porque <code>8</code> no es un elemento dentro del arreglo <code>numeros</code>.</p><h2 id="c-mo-verificar-si-un-elemento-est-en-un-arreglo-en-javascript-usando-arreglo-includes-a-partir-de-un-ndice-especificado"><strong>Cómo verificar si un elemento está en un arreglo en JavaScript usando <code>arreglo.includes()</code> a partir de un índice especificado</strong></h2><p>En la última sección, vimos cómo verificar si un elemento existía en un arreglo sin usar el segundo parámetro del método <code>includes()</code>. </p><p>Como recordatorio, el segundo parámetro se utiliza para especificar el índice desde el que se debe comenzar a buscar un elemento en el arreglo. </p><p>En un arreglo los índices comienzan desde <code>0</code>. Entonces, el primer elemento es <code>0</code>, el segundo elemento es <code>1</code>, el tercer elemento es <code>2</code>, y así sucesivamente. </p><p>Aquí hay un ejemplo para mostrar cómo podemos usar el segundo parámetro del método <code>includes()</code>:</p><pre><code class="language-javascript">const numeros = [ 1, 3, 5, 7];
console.log(numeros.includes(3, 2));
// false</code></pre><p>El ejemplo anterior devolvió <code>false</code>, aunque teníamos <code>3</code> como un elemento en el arreglo.</p><p> Aquí está el porqué: </p><p>Usando el segundo parámetro, le dijimos al método <code>includes()</code> que buscara el número <code>3</code> pero comenzando desde el índice <code>2</code>: <code>numeros.includes(3, 2)</code>. </p><p>Este es el arreglo: <code>[1, 3, 5, 7]</code></p><p>Índice <code>0</code> = <code>1</code>. </p><p>Índice <code>1</code> = <code>3</code>. </p><p>Índice <code>2</code> = <code>5</code>. </p><p>Índice <code>3</code> = <code>7</code>. </p><p>Entonces, comenzando desde el segundo índice que es <code>5</code>, solo tenemos <code>5</code> y <code>7</code> ([5,7]) para buscar. Es por eso que buscar <code>3</code> a partir del índice <code>2</code> devolvió <code>false</code>. </p><p>Si cambias el índice desde el que se debe comenzar la búsqueda a <code>1</code>, entonces obtendrías <code>true</code> porque <code>3</code> se puede encontrar dentro de ese rango. Eso es:</p><pre><code class="language-javascript">const numeros = [ 1, 3, 5, 7];
console.log(numeros.includes(3, 1));
// true</code></pre><h2 id="c-mo-verificar-si-un-substring-est-dentro-de-otra-cadena-en-javascript-usando-el-m-todo-includes-">Cómo verificar si un substring está dentro de otra cadena en JavaScript usando el método<strong> <code>includes()</code></strong></h2><p>Al igual que en los ejemplos anteriores, debes agregar el método <code>includes()</code> al nombre de la cadena en la que se va a buscar mediante la notación de punto.</p><p>Aquí está como se ve la sintaxis:</p><pre><code class="language-txt">cadena.includes(substring, indiceInicial)</code></pre><p>Aquí hay un ejemplo:</p><pre><code class="language-javascript">const bio = "Soy un desarrollador web";
console.log(bio.includes("web"));
// true</code></pre><p>En el ejemplo anterior, la variable <code>bio</code> tiene un valor de "Soy un desarrollador web".</p><p>Usando el método <code>includes ()</code>, buscamos el substring "web".</p><p>Obtuvimos <code>true</code> porque "web" está en la cadena <code>bio</code>.</p><p>También puedes usar el segundo parámetro para especificar dónde comenzará la búsqueda, pero ten en cuenta que cada carácter de la cadena representa un índice y los espacios entre cada substring también representan un índice.</p><p>Aquí hay un ejemplo para demostrar esto:</p><pre><code class="language-javascript">let bio = "Soy un desarrollador web";
console.log(bio.includes("web", 22));
// false</code></pre><p>Obtenemos <code>false</code> porque el índice <code>22</code> es la "e" en "web".</p><p>Comenzando desde el índice <code>22</code>, la cadena se vería así: "eb". El substring "web" no existe en la cadena, por lo que se devuelve <code>false</code>.</p><h2 id="resumen">Resumen</h2><p>En este artículo, hablamos sobre el método <code>includes()</code> en JavaScript. Lo usas para verificar si un elemento existe dentro de un arreglo. También puedes usarlo para verificar si se puede encontrar un substring dentro de otra cadena.</p><p>Vimos algunos ejemplos que explicaron su uso para buscar un elemento en un arreglo comenzando desde el primer índice, luego otro ejemplo desde un índice especificado.</p><p>Por último, vimos cómo usar el método <code>includes()</code> para verificar si un substring existe dentro de una cadena desde el primer índice y desde un índice especificado.</p><p>¡Feliz codificación!</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
