<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Programador ASP &#187; javascript</title>
	<atom:link href="http://programadorasp.com/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://programadorasp.com</link>
	<description>Programación en Internet</description>
	<lastBuildDate>Fri, 03 Feb 2012 20:09:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Reemplazar carácteres con expresiones regulares en ASP para generar URL&#8217;s amigables</title>
		<link>http://programadorasp.com/generar-urls-amigables-asp-expresiones-regulares/</link>
		<comments>http://programadorasp.com/generar-urls-amigables-asp-expresiones-regulares/#comments</comments>
		<pubDate>Mon, 18 Apr 2011 19:10:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Buscadores]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[acentos]]></category>
		<category><![CDATA[ansi]]></category>
		<category><![CDATA[asp]]></category>
		<category><![CDATA[cadena de texto]]></category>
		<category><![CDATA[carácteres extraños]]></category>
		<category><![CDATA[comillas]]></category>
		<category><![CDATA[expresiones regulares]]></category>
		<category><![CDATA[iso-8859-1]]></category>
		<category><![CDATA[patrón expresión regular]]></category>
		<category><![CDATA[Pattern]]></category>
		<category><![CDATA[permalinks]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[reemplazar carácteres]]></category>
		<category><![CDATA[RegExp]]></category>
		<category><![CDATA[replace]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[tildes]]></category>
		<category><![CDATA[URL friendly]]></category>
		<category><![CDATA[URL's amigables]]></category>
		<category><![CDATA[UTF-8]]></category>

		<guid isPermaLink="false">http://programadorasp.com/?p=503</guid>
		<description><![CDATA[Las expresiones regulares en ASP son muy útiles para reemplazar carácteres extraños en cadenas de texto y quitar acentos para por ejemplo generar url's amigables
Related posts:<ol>
<li><a href='http://programadorasp.com/codificacion-utf-8-incorrecta-php-leyendo-base-datos-mysql/' rel='bookmark' title='Codificación UTF-8 incorrecta en PHP leyendo una base de datos MySQL'>Codificación UTF-8 incorrecta en PHP leyendo una base de datos MySQL</a></li>
<li><a href='http://programadorasp.com/la-world-wide-web-y-el-html-cumplen-20-anos/' rel='bookmark' title='La World Wide Web y el HTML cumplen 20 años'>La World Wide Web y el HTML cumplen 20 años</a></li>
<li><a href='http://programadorasp.com/convertir-archivos-web-estaticos-dinamicos-introducir-codigo/' rel='bookmark' title='Interpretar páginas web estáticas como php, asp o cualquier lenguaje'>Interpretar páginas web estáticas como php, asp o cualquier lenguaje</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>En ocasiones en <strong>ASP</strong> hemos querido <strong>reemplazar carácteres</strong> de un texto o una cadena para eliminar los acentos y los carácteres extraños como paréntesis, puntos, comas, corchetes, ñ, ç,&#8230; Por ejemplo, para generar <strong>URL&#8217;s amigables</strong> para los buscadores (URL friendly o permalinks), necesitamos convertir las cadenas a texto plano <strong>sin carácteres extraños</strong>. Podemos hacer funciones de reemplazo de carácteres intentando tener en cuenta todos los carácteres extraños que nos podamos encontrar en una cadena, pero las <strong>expresiones regulares</strong> y sus herramientas de reemplazo nos pueden ayudar mucho. Se trata de utilizar el operador <strong>.replace</strong> del objeto de expresión regular en ASP, jugando con los <strong>patrones</strong> para las condiciones.</p>
<p>En la funcion siguiente, a partir de una <strong>cadena de texto</strong> dada se convierte a una cadena amigable para los buscadores, eliminando los carácteres extraños. En primer lugar, se eliminan los espacios a ambos lados de la cadena y se reemplazan o eliminan los carácteres que pueden dar problemas en bases de datos como las <strong>comillas</strong> simples y dobles, saltos de línea y espacios. Después se usan las <strong>expresiones regulares</strong> para eliminar de las vocales las tildes abiertas y cerradas, diéresis,&#8230; y para sustituir la ñ y la ç por n y c respectivamente. Es decir, los carácteres que <strong>cumplan el patrón</strong> de la expresión regular serán sustituidos por el carácter dado. Por último, se eliminan los carácteres restantes que <strong>no cumplan el patrón</strong> de URL amigable (letras minúsculas, números y guión).</p>

<div class="wp_syntax"><div class="code"><pre class="asp" style="font-family:monospace;"><span style="color: #0000ff; font-weight: bold;">function</span> convertirAURLfriendly<span style="color: #006600; font-weight:bold;">&#40;</span>cadena<span style="color: #006600; font-weight:bold;">&#41;</span>
  <span style="color: #990099; font-weight: bold;">if</span> <span style="color: #990099; font-weight: bold;">not</span> isNull<span style="color: #006600; font-weight:bold;">&#40;</span>cadena<span style="color: #006600; font-weight:bold;">&#41;</span> <span style="color: #990099; font-weight: bold;">then</span>
    <span style="color: #008000;">' Eliminamos los espacios a ambos lados de la cadena</span>
    strCadena <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #330066;">Trim</span><span style="color: #006600; font-weight:bold;">&#40;</span><span style="color: #330066;">lCase</span><span style="color: #006600; font-weight:bold;">&#40;</span>cadena<span style="color: #006600; font-weight:bold;">&#41;</span><span style="color: #006600; font-weight:bold;">&#41;</span>
    <span style="color: #008000;">' Reemplazamos carácteres especiales</span>
    strCadena <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #330066;">replace</span><span style="color: #006600; font-weight:bold;">&#40;</span><span style="color: #330066;">replace</span><span style="color: #006600; font-weight:bold;">&#40;</span>strCadena,<span style="color: #cc0000;">&quot;'&quot;</span>,<span style="color: #cc0000;">&quot;&quot;</span><span style="color: #006600; font-weight:bold;">&#41;</span>,<span style="color: #cc0000;">&quot;&quot;</span><span style="color: #cc0000;">&quot;&quot;</span>,<span style="color: #cc0000;">&quot;&quot;</span><span style="color: #006600; font-weight:bold;">&#41;</span>
    strCadena <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #330066;">replace</span><span style="color: #006600; font-weight:bold;">&#40;</span><span style="color: #330066;">replace</span><span style="color: #006600; font-weight:bold;">&#40;</span>strCadena,<span style="color: #cc0000;">&quot;&amp;quot;&quot;</span>,<span style="color: #cc0000;">&quot;&quot;</span><span style="color: #006600; font-weight:bold;">&#41;</span>,vbcrlf,<span style="color: #cc0000;">&quot;&quot;</span><span style="color: #006600; font-weight:bold;">&#41;</span>
    strCadena <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #330066;">replace</span><span style="color: #006600; font-weight:bold;">&#40;</span><span style="color: #330066;">replace</span><span style="color: #006600; font-weight:bold;">&#40;</span>strCadena,<span style="color: #cc0000;">&quot;&lt;br&gt;&quot;</span>,<span style="color: #cc0000;">&quot;&quot;</span><span style="color: #006600; font-weight:bold;">&#41;</span>,<span style="color: #cc0000;">&quot; &quot;</span>,<span style="color: #cc0000;">&quot;-&quot;</span><span style="color: #006600; font-weight:bold;">&#41;</span>
    <span style="color: #990099; font-weight: bold;">set</span> expReg <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #0000ff; font-weight: bold;">New</span> RegExp
    <span style="color: #008000;">' Todas las ocurrencias</span>
    expReg.<span style="color: #990099; font-weight: bold;">Global</span> <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #0000ff; font-weight: bold;">True</span>
    expReg.<span style="color: #9900cc;">Pattern</span> <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;[àáâãäå]&quot;</span>
    strCadena <span style="color: #006600; font-weight: bold;">=</span> expReg.<span style="color: #330066;">Replace</span><span style="color: #006600; font-weight:bold;">&#40;</span>strCadena, <span style="color: #cc0000;">&quot;a&quot;</span><span style="color: #006600; font-weight:bold;">&#41;</span>
    expReg.<span style="color: #9900cc;">Pattern</span> <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;[èéêë]&quot;</span>
    strCadena <span style="color: #006600; font-weight: bold;">=</span> expReg.<span style="color: #330066;">Replace</span><span style="color: #006600; font-weight:bold;">&#40;</span>strCadena, <span style="color: #cc0000;">&quot;e&quot;</span><span style="color: #006600; font-weight:bold;">&#41;</span>
    expReg.<span style="color: #9900cc;">Pattern</span> <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;[ìíîï]&quot;</span>
    strCadena <span style="color: #006600; font-weight: bold;">=</span> expReg.<span style="color: #330066;">Replace</span><span style="color: #006600; font-weight:bold;">&#40;</span>strCadena, <span style="color: #cc0000;">&quot;i&quot;</span><span style="color: #006600; font-weight:bold;">&#41;</span>
    expReg.<span style="color: #9900cc;">Pattern</span> <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;[òóôõö]&quot;</span>
    strCadena <span style="color: #006600; font-weight: bold;">=</span> expReg.<span style="color: #330066;">Replace</span><span style="color: #006600; font-weight:bold;">&#40;</span>strCadena, <span style="color: #cc0000;">&quot;o&quot;</span><span style="color: #006600; font-weight:bold;">&#41;</span>
    expReg.<span style="color: #9900cc;">Pattern</span> <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;[ùúûü]&quot;</span>
    strCadena <span style="color: #006600; font-weight: bold;">=</span> expReg.<span style="color: #330066;">Replace</span><span style="color: #006600; font-weight:bold;">&#40;</span>strCadena, <span style="color: #cc0000;">&quot;u&quot;</span><span style="color: #006600; font-weight:bold;">&#41;</span>
    expReg.<span style="color: #9900cc;">Pattern</span> <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;[ñ]&quot;</span>
    strCadena <span style="color: #006600; font-weight: bold;">=</span> expReg.<span style="color: #330066;">Replace</span><span style="color: #006600; font-weight:bold;">&#40;</span>strCadena, <span style="color: #cc0000;">&quot;n&quot;</span><span style="color: #006600; font-weight:bold;">&#41;</span>
    expReg.<span style="color: #9900cc;">Pattern</span> <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;[ç]&quot;</span>
    strCadena <span style="color: #006600; font-weight: bold;">=</span> expReg.<span style="color: #330066;">Replace</span><span style="color: #006600; font-weight:bold;">&#40;</span>strCadena, <span style="color: #cc0000;">&quot;c&quot;</span><span style="color: #006600; font-weight:bold;">&#41;</span>
    <span style="color: #008000;">' Todo lo que no cumpla este patron</span>
    expReg.<span style="color: #9900cc;">Pattern</span> <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;[^a-z0-9-]&quot;</span>
    strCadena <span style="color: #006600; font-weight: bold;">=</span> expReg.<span style="color: #330066;">Replace</span><span style="color: #006600; font-weight:bold;">&#40;</span>strCadena, <span style="color: #cc0000;">&quot;&quot;</span><span style="color: #006600; font-weight:bold;">&#41;</span>
    <span style="color: #990099; font-weight: bold;">set</span> expReg <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #0000ff; font-weight: bold;">nothing</span>
    convertirAURLfriendly <span style="color: #006600; font-weight: bold;">=</span> left<span style="color: #006600; font-weight:bold;">&#40;</span>strCadena,<span style="color: #800000;">256</span><span style="color: #006600; font-weight:bold;">&#41;</span>
  <span style="color: #990099; font-weight: bold;">else</span>
    convertirAURLfriendly <span style="color: #006600; font-weight: bold;">=</span> <span style="color: #cc0000;">&quot;&quot;</span>
  <span style="color: #990099; font-weight: bold;">end</span> <span style="color: #990099; font-weight: bold;">if</span>
<span style="color: #990099; font-weight: bold;">end</span> <span style="color: #0000ff; font-weight: bold;">function</span></pre></div></div>

<p>Hacer la conversión de la función anterior a otros lenguajes como <strong>PHP</strong> o <strong>Javascript</strong> es relativamente sencillo, en otros artículos de este blog se pueden encontrar ejemplos de expresiones regulares en Javascript. De hecho, la función anterior an ASP para generar URL&#8217;s amigables me funcionaba en archivos ANSI con codificación iso-8859-1, pero da problemas con los acentos y carácteres extraños cuando el archivo está en <strong>UTF-8</strong>. Así que después de darle muchas vueltas, convertí la función de ASP a Javascript y la llamaba antes de enviar el formulario, es decir generaba la <strong>URL amigable</strong> desde Javascript y lo almacenaba en una variable hidden que también envío con el formulario. La función en <strong>Javascript</strong> que funciona para UTF-8:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> convertirAURLfriendly<span style="color: #009900;">&#40;</span>str<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  strCadena <span style="color: #339933;">=</span> str<span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>strCadena<span style="color: #339933;">!=</span><span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    strCadena <span style="color: #339933;">=</span> strCadena.<span style="color: #660066;">toLowerCase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #006600; font-style: italic;">// Elimina espacios al principio y al final</span>
    strCadena <span style="color: #339933;">=</span> strCadena.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">/^\s*|\s*$/g</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    strCadena <span style="color: #339933;">=</span> strCadena.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;&amp;quot;&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    strCadena <span style="color: #339933;">=</span> strCadena.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot; &quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;-&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;_&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;-&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    strExpReg <span style="color: #339933;">=</span> <span style="color: #009966; font-style: italic;">/[àáâãäå]/gi</span><span style="color: #339933;">;</span>
    strCadena <span style="color: #339933;">=</span> strCadena.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span>strExpReg<span style="color: #339933;">,</span><span style="color: #3366CC;">'a'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    strExpReg <span style="color: #339933;">=</span> <span style="color: #009966; font-style: italic;">/[èéêë]/gi</span><span style="color: #339933;">;</span>
    strCadena <span style="color: #339933;">=</span> strCadena.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span>strExpReg<span style="color: #339933;">,</span><span style="color: #3366CC;">'e'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    strExpReg <span style="color: #339933;">=</span> <span style="color: #009966; font-style: italic;">/[ìíîï]/gi</span><span style="color: #339933;">;</span>
    strCadena <span style="color: #339933;">=</span> strCadena.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span>strExpReg<span style="color: #339933;">,</span><span style="color: #3366CC;">'i'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    strExpReg <span style="color: #339933;">=</span> <span style="color: #009966; font-style: italic;">/[òóôõö]/gi</span><span style="color: #339933;">;</span>
    strCadena <span style="color: #339933;">=</span> strCadena.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span>strExpReg<span style="color: #339933;">,</span><span style="color: #3366CC;">'o'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    strExpReg <span style="color: #339933;">=</span> <span style="color: #009966; font-style: italic;">/[ùúûü]/gi</span><span style="color: #339933;">;</span>
    strCadena <span style="color: #339933;">=</span> strCadena.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span>strExpReg<span style="color: #339933;">,</span><span style="color: #3366CC;">'u'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    strExpReg <span style="color: #339933;">=</span> <span style="color: #009966; font-style: italic;">/[ñ]/gi</span><span style="color: #339933;">;</span>
    strCadena <span style="color: #339933;">=</span> strCadena.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span>strExpReg<span style="color: #339933;">,</span><span style="color: #3366CC;">'n'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    strExpReg <span style="color: #339933;">=</span> <span style="color: #009966; font-style: italic;">/[ç]/gi</span><span style="color: #339933;">;</span>
    strCadena <span style="color: #339933;">=</span> strCadena.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span>strExpReg<span style="color: #339933;">,</span><span style="color: #3366CC;">'c'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #006600; font-style: italic;">// Todo lo que no cumpla este patron</span>
    strExpReg <span style="color: #339933;">=</span> <span style="color: #009966; font-style: italic;">/[^a-z0-9-]/gi</span><span style="color: #339933;">;</span>
    strCadena <span style="color: #339933;">=</span> strCadena.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span>strExpReg<span style="color: #339933;">,</span><span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">return</span> strCadena.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span><span style="color: #CC0000;">255</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
  <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #3366CC;">''</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Related posts:<ol>
<li><a href='http://programadorasp.com/codificacion-utf-8-incorrecta-php-leyendo-base-datos-mysql/' rel='bookmark' title='Codificación UTF-8 incorrecta en PHP leyendo una base de datos MySQL'>Codificación UTF-8 incorrecta en PHP leyendo una base de datos MySQL</a></li>
<li><a href='http://programadorasp.com/la-world-wide-web-y-el-html-cumplen-20-anos/' rel='bookmark' title='La World Wide Web y el HTML cumplen 20 años'>La World Wide Web y el HTML cumplen 20 años</a></li>
<li><a href='http://programadorasp.com/convertir-archivos-web-estaticos-dinamicos-introducir-codigo/' rel='bookmark' title='Interpretar páginas web estáticas como php, asp o cualquier lenguaje'>Interpretar páginas web estáticas como php, asp o cualquier lenguaje</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://programadorasp.com/generar-urls-amigables-asp-expresiones-regulares/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La World Wide Web y el HTML cumplen 20 años</title>
		<link>http://programadorasp.com/la-world-wide-web-y-el-html-cumplen-20-anos/</link>
		<comments>http://programadorasp.com/la-world-wide-web-y-el-html-cumplen-20-anos/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 11:32:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[20 aniversario]]></category>
		<category><![CDATA[20 años]]></category>
		<category><![CDATA[asp]]></category>
		<category><![CDATA[CERN]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[navegador]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[servidor web]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://www.programadorasp.com/?p=245</guid>
		<description><![CDATA[Hoy viernes 13 de marzo se cumplen 20 años del nacimiento de las páginas web (WWW), tal como las conocemos. El 13 de marzo de 1989 una propuesta presentada por un físico del CERN (Centro Europeo de Investigaciones Nucleares) sentó las bases para desarrollar el lenguaje HTML, que en principio serviría para intercambiar información entre [...]
Related posts:<ol>
<li><a href='http://programadorasp.com/convertir-archivos-web-estaticos-dinamicos-introducir-codigo/' rel='bookmark' title='Interpretar páginas web estáticas como php, asp o cualquier lenguaje'>Interpretar páginas web estáticas como php, asp o cualquier lenguaje</a></li>
<li><a href='http://programadorasp.com/codificacion-utf-8-incorrecta-php-leyendo-base-datos-mysql/' rel='bookmark' title='Codificación UTF-8 incorrecta en PHP leyendo una base de datos MySQL'>Codificación UTF-8 incorrecta en PHP leyendo una base de datos MySQL</a></li>
<li><a href='http://programadorasp.com/generar-urls-amigables-asp-expresiones-regulares/' rel='bookmark' title='Reemplazar carácteres con expresiones regulares en ASP para generar URL&#8217;s amigables'>Reemplazar carácteres con expresiones regulares en ASP para generar URL&#8217;s amigables</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="alignnone size-full wp-image-159" title="www_world_wide_web" src="http://tecnologiadelavida.com/files/2009/03/www_world_wide_web.jpg" alt="" width="500" height="65" /></p>
<p>Hoy viernes 13 de marzo se cumplen 20 años del nacimiento de las páginas web (<a href="http://es.wikipedia.org/wiki/World_Wide_Web" target="_blank">WWW</a>), tal como las conocemos. El 13 de marzo de 1989 una propuesta presentada por un físico del <a href="http://www.cern.ch" target="_blank">CERN</a> (<a href="http://es.wikipedia.org/wiki/CERN" target="_blank">Centro Europeo de Investigaciones Nucleares</a>) sentó las bases para desarrollar el lenguaje <a href="http://es.wikipedia.org/wiki/Html" target="_blank">HTML</a>, que en principio serviría para intercambiar información entre físicos de todo el mundo a través de Internet. El lenguaje HTML (HyperText Markup Language) es un lenguaje de etiquetas que permite establecer hipervínculos entre documentos de forma fácil y que los navegadores saben interpretar. Tiempo después vendrían nuevas tecnologías y lenguajes como javascript, flash, asp, php,&#8230;</p>
<div id="attachment_160" class="wp-caption aligncenter" style="width: 389px"><img class="size-full wp-image-160" title="www_primer_servidor_web" src="http://tecnologiadelavida.com/files/2009/03/www_primer_servidor_web.jpg" alt="El creador de la WWW, Tim Berners-Lee junto al ordenador que sirvió de primer servidor web" width="379" height="259" /><p class="wp-caption-text">El creador de la WWW, Tim Berners-Lee, junto al ordenador que sirvió de primer servidor web</p></div>
<p>Pocos se imaginaban que aquel invento iba a revolucionar la tecnología y en el CERN <a href="http://info.cern.ch/www20/" target="_blank">lo están celebrando</a> dando conferencias, haciendo camisetas y exponiendo el primer ordenador que albergó un servidor web, un navegador web y un editor para desarrollar páginas web.</p>
<div id="attachment_161" class="wp-caption aligncenter" style="width: 285px"><img class="size-full wp-image-161" title="www_html" src="http://tecnologiadelavida.com/files/2009/03/www_html.jpg" alt="Ejemplo de documento en lenguaje HTML" width="275" height="313" /><p class="wp-caption-text">Ejemplo de documento en lenguaje HTML</p></div>
<p>Recuerdo mi primer contacto con la web en la Universidad Politécnica de Valencia (España), cuando inicié (y años después acabé) la carrera de Ingeniería Técnica en Informática de Sistemas, allá por el año 1994. En 1995-96 colaboré en el desarrollo de una página web de una asociación de la Universidad y desde la Facultad de Informática programábamos las páginas web con un editor de textos y editor de imágenes básicos&#8230; Escribía el lenguaje HTML totalmente a mano, qué recuerdos, &lt;html&gt;&lt;head&gt;&lt;title&gt;&#8230; &lt;table border=&#8221;0&#8243;&#8230; Empezando de esta forma me ha servido mucho posteriormente, es mucho más fácil encontrar errores y problemas cuando se conoce el código.</p>
<p>Este artículo en una versión menos técnica también lo podéis encontrar en <a href="http://tecnologiadelavida.com/la-web-cumple-20-anos/" target="_blank">Tecnología de la Vida</a>.</p>
<p><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fprogramadorasp.com%2Fla-world-wide-web-y-el-html-cumplen-20-anos%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fprogramadorasp.com%2Fla-world-wide-web-y-el-html-cumplen-20-anos%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fprogramadorasp.com%2Fla-world-wide-web-y-el-html-cumplen-20-anos%2F&amp;counturl=http%3A%2F%2Fprogramadorasp.com%2Fla-world-wide-web-y-el-html-cumplen-20-anos%2F&amp;count=horizontal&amp;text=La%20World%20Wide%20Web%20y%20el%20HTML%20cumplen%2020%20a%C3%B1os" scrolling="no" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fprogramadorasp.com%2Fla-world-wide-web-y-el-html-cumplen-20-anos%2F&amp;counturl=http%3A%2F%2Fprogramadorasp.com%2Fla-world-wide-web-y-el-html-cumplen-20-anos%2F&amp;count=horizontal&amp;text=La%20World%20Wide%20Web%20y%20el%20HTML%20cumplen%2020%20a%C3%B1os" scrolling="no" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fprogramadorasp.com%2Fla-world-wide-web-y-el-html-cumplen-20-anos%2F&amp;size=medium&amp;count=true" scrolling="no" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fprogramadorasp.com%2Fla-world-wide-web-y-el-html-cumplen-20-anos%2F&amp;size=medium&amp;count=true" scrolling="no" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><!--<![endif]--><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fprogramadorasp.com%2Fla-world-wide-web-y-el-html-cumplen-20-anos%2F&amp;title=La%20World%20Wide%20Web%20y%20el%20HTML%20cumplen%2020%20a%C3%B1os" id="wpa2a_2">Compartir / Guardar</a></p><p>Related posts:<ol>
<li><a href='http://programadorasp.com/convertir-archivos-web-estaticos-dinamicos-introducir-codigo/' rel='bookmark' title='Interpretar páginas web estáticas como php, asp o cualquier lenguaje'>Interpretar páginas web estáticas como php, asp o cualquier lenguaje</a></li>
<li><a href='http://programadorasp.com/codificacion-utf-8-incorrecta-php-leyendo-base-datos-mysql/' rel='bookmark' title='Codificación UTF-8 incorrecta en PHP leyendo una base de datos MySQL'>Codificación UTF-8 incorrecta en PHP leyendo una base de datos MySQL</a></li>
<li><a href='http://programadorasp.com/generar-urls-amigables-asp-expresiones-regulares/' rel='bookmark' title='Reemplazar carácteres con expresiones regulares en ASP para generar URL&#8217;s amigables'>Reemplazar carácteres con expresiones regulares en ASP para generar URL&#8217;s amigables</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://programadorasp.com/la-world-wide-web-y-el-html-cumplen-20-anos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Generar password y contraseñas aleatorias con javascript</title>
		<link>http://programadorasp.com/generar-password-y-contrasenas-aleatorias-con-javascript/</link>
		<comments>http://programadorasp.com/generar-password-y-contrasenas-aleatorias-con-javascript/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 13:24:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[aleatorio]]></category>
		<category><![CDATA[contraseña]]></category>
		<category><![CDATA[password]]></category>

		<guid isPermaLink="false">http://www.programadorasp.com/?p=199</guid>
		<description><![CDATA[Descargar utilidad para generar contraseñas Podéis descargar la utilidad para generar passwords aleatorios y ejecutarla (sin necesidad de instalarla) en los navegadores más populares, como Microsoft Internet Explorer o Mozilla Firefox, haciendo doble clic sobre el archivo &#8220;generar_password.htm&#8221; o añadiéndola a Favoritos del navegador. Este archivo contiene una de las funciones más útiles que suelo [...]
Related posts:<ol>
<li><a href='http://programadorasp.com/eliminar-saltos-de-linea-en-un-textarea-con-javascript/' rel='bookmark' title='Eliminar saltos de línea en un textarea con Javascript'>Eliminar saltos de línea en un textarea con Javascript</a></li>
<li><a href='http://programadorasp.com/modificar-el-contenido-de-cualquier-pagina-web-cargada-en-local-con-javascript/' rel='bookmark' title='Modificar el contenido de cualquier página web cargada en local con Javascript'>Modificar el contenido de cualquier página web cargada en local con Javascript</a></li>
<li><a href='http://programadorasp.com/la-world-wide-web-y-el-html-cumplen-20-anos/' rel='bookmark' title='La World Wide Web y el HTML cumplen 20 años'>La World Wide Web y el HTML cumplen 20 años</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://programadorasp.com/wp-content/uploads/2009/01/generar_password.htm" target="_blank">Descargar utilidad para generar contraseñas</a></p>
<p>Podéis descargar la utilidad para generar passwords aleatorios y ejecutarla (sin necesidad de instalarla) en los navegadores más populares, como Microsoft Internet Explorer o Mozilla Firefox, haciendo doble clic sobre el archivo &#8220;generar_password.htm&#8221; o añadiéndola a Favoritos del navegador.</p>
<p>Este archivo contiene una de las funciones más útiles que suelo usar para generar passwords o contraseñas para correo, redes sociales, bases de datos,&#8230;, programada en Javascript:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> generarPassword<span style="color: #009900;">&#40;</span>form<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
 <span style="color: #003366; font-weight: bold;">var</span> strCaracteresPermitidos <span style="color: #339933;">=</span> <span style="color: #3366CC;">'a,b,c,d,e,f,g,h,i,j,k,m,n,p,q,r,'</span><span style="color: #339933;">;</span>
 strCaracteresPermitidos <span style="color: #339933;">+=</span> <span style="color: #3366CC;">'s,t,u,v,w,x,y,z,1,2,3,4,5,6,7,8,9'</span><span style="color: #339933;">;</span>
 <span style="color: #003366; font-weight: bold;">var</span> strArrayCaracteres <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Array<span style="color: #009900;">&#40;</span><span style="color: #CC0000;">34</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 strArrayCaracteres <span style="color: #339933;">=</span> strCaracteresPermitidos.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">','</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #003366; font-weight: bold;">var</span> length <span style="color: #339933;">=</span> form.<span style="color: #660066;">txtCampoLongitud</span>.<span style="color: #660066;">value</span><span style="color: #339933;">,</span> i <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> j<span style="color: #339933;">,</span> tmpstr <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">;</span>
 <span style="color: #000066; font-weight: bold;">do</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #003366; font-weight: bold;">var</span> randscript <span style="color: #339933;">=</span> <span style="color: #339933;">-</span><span style="color: #CC0000;">1</span>
  <span style="color: #000066; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>randscript <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #CC0000;">1</span> <span style="color: #339933;">||</span> randscript <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> strArrayCaracteres.<span style="color: #660066;">length</span> <span style="color: #339933;">||</span>
           isNaN<span style="color: #009900;">&#40;</span>randscript<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   randscript <span style="color: #339933;">=</span> parseInt<span style="color: #009900;">&#40;</span>Math.<span style="color: #660066;">random</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> strArrayCaracteres.<span style="color: #660066;">length</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#125;</span>
  j <span style="color: #339933;">=</span> randscript<span style="color: #339933;">;</span>
  tmpstr <span style="color: #339933;">=</span> tmpstr <span style="color: #339933;">+</span> strArrayCaracteres<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
  i <span style="color: #339933;">=</span> i <span style="color: #339933;">+</span> <span style="color: #CC0000;">1</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>i <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> length<span style="color: #009900;">&#41;</span>
 form.<span style="color: #660066;">txtCampoPassword</span>.<span style="color: #660066;">value</span> <span style="color: #339933;">=</span> tmpstr<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Lo que hace esta función es escoger carácteres aleatorios del array strCaracteresPermitidos, hasta una longitud dada. En este caso concreto, se generan cadenas aleatorias con letras minúsculas y números, y no se incluyen carácteres que puedan resultar confusos, como la letra &#8220;l&#8221; (L, ele) que puede confundirse con el número &#8220;1&#8243;, o la letra &#8220;o&#8221; (O) que puede ser confundida con el número &#8220;0&#8243;. Se pueden añadir otros carácteres o letras mayúsculas ampliando el array strCaracteresPermitidos, así como la dimensión (número de elementos) del array strArrayCaracteres.</p>
<p>Para que funcione esta función tal como está, debe ir acompañada de un código HTML similar a:</p>
<pre lang="html4strict&gt;&lt;form&gt;   &lt;input type=">&lt;form&gt;
 &lt;input type="text" name="txtCampoPassword" size="20"&gt;&amp;nbsp;&amp;nbsp;
 &lt;input type="button" value="Generar" onClick="generarPassword(this.form);"&gt;
 &lt;br&gt;
 Longitud password:
 &lt;input type="text" name="txtCampoLongitud" size="4" value="8"&gt;
&lt;/form&gt;</pre>
<p>que contiene el campo con el password generado, el botón para ir generándolos y el campo donde se le especifica la longitud de la contraseña.</p>
<p>Podéis descargar el archivo HTML completo (con la función javascript en su interior) <a href="http://programadorasp.com/wp-content/uploads/2009/01/generar_password.htm" target="_blank">aquí</a> y ejecutarlo en los navegadores más populares, como Microsoft Internet Explorer o Mozilla Firefox.</p>
<p><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fprogramadorasp.com%2Fgenerar-password-y-contrasenas-aleatorias-con-javascript%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fprogramadorasp.com%2Fgenerar-password-y-contrasenas-aleatorias-con-javascript%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fprogramadorasp.com%2Fgenerar-password-y-contrasenas-aleatorias-con-javascript%2F&amp;counturl=http%3A%2F%2Fprogramadorasp.com%2Fgenerar-password-y-contrasenas-aleatorias-con-javascript%2F&amp;count=horizontal&amp;text=Generar%20password%20y%20contrase%C3%B1as%20aleatorias%20con%20javascript" scrolling="no" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fprogramadorasp.com%2Fgenerar-password-y-contrasenas-aleatorias-con-javascript%2F&amp;counturl=http%3A%2F%2Fprogramadorasp.com%2Fgenerar-password-y-contrasenas-aleatorias-con-javascript%2F&amp;count=horizontal&amp;text=Generar%20password%20y%20contrase%C3%B1as%20aleatorias%20con%20javascript" scrolling="no" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fprogramadorasp.com%2Fgenerar-password-y-contrasenas-aleatorias-con-javascript%2F&amp;size=medium&amp;count=true" scrolling="no" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fprogramadorasp.com%2Fgenerar-password-y-contrasenas-aleatorias-con-javascript%2F&amp;size=medium&amp;count=true" scrolling="no" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><!--<![endif]--><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fprogramadorasp.com%2Fgenerar-password-y-contrasenas-aleatorias-con-javascript%2F&amp;title=Generar%20password%20y%20contrase%C3%B1as%20aleatorias%20con%20javascript" id="wpa2a_4">Compartir / Guardar</a></p><p>Related posts:<ol>
<li><a href='http://programadorasp.com/eliminar-saltos-de-linea-en-un-textarea-con-javascript/' rel='bookmark' title='Eliminar saltos de línea en un textarea con Javascript'>Eliminar saltos de línea en un textarea con Javascript</a></li>
<li><a href='http://programadorasp.com/modificar-el-contenido-de-cualquier-pagina-web-cargada-en-local-con-javascript/' rel='bookmark' title='Modificar el contenido de cualquier página web cargada en local con Javascript'>Modificar el contenido de cualquier página web cargada en local con Javascript</a></li>
<li><a href='http://programadorasp.com/la-world-wide-web-y-el-html-cumplen-20-anos/' rel='bookmark' title='La World Wide Web y el HTML cumplen 20 años'>La World Wide Web y el HTML cumplen 20 años</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://programadorasp.com/generar-password-y-contrasenas-aleatorias-con-javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Modificar el contenido de cualquier página web cargada en local con Javascript</title>
		<link>http://programadorasp.com/modificar-el-contenido-de-cualquier-pagina-web-cargada-en-local-con-javascript/</link>
		<comments>http://programadorasp.com/modificar-el-contenido-de-cualquier-pagina-web-cargada-en-local-con-javascript/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 21:04:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[truco]]></category>

		<guid isPermaLink="false">http://www.programadorasp.com/?p=173</guid>
		<description><![CDATA[Me han enviado un correo con un truco curioso, obtenido de una traducción del artículo original de Phil Benwell. Se trata de un pequeño código en Javascript para modificar el contenido de cualquier página web que se esté visualizando. Evidentemente sólo funciona en local con las webs que tengamos cargadas en el navegador, pero podemos [...]
Related posts:<ol>
<li><a href='http://programadorasp.com/eliminar-saltos-de-linea-en-un-textarea-con-javascript/' rel='bookmark' title='Eliminar saltos de línea en un textarea con Javascript'>Eliminar saltos de línea en un textarea con Javascript</a></li>
<li><a href='http://programadorasp.com/generar-password-y-contrasenas-aleatorias-con-javascript/' rel='bookmark' title='Generar password y contraseñas aleatorias con javascript'>Generar password y contraseñas aleatorias con javascript</a></li>
<li><a href='http://programadorasp.com/la-world-wide-web-y-el-html-cumplen-20-anos/' rel='bookmark' title='La World Wide Web y el HTML cumplen 20 años'>La World Wide Web y el HTML cumplen 20 años</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Me han enviado un correo con un truco curioso, obtenido de una traducción del artículo original de <a href="http://www.philbenwell.co.uk/blog/browser-hack-make-any-web-page-editable" target="_blank">Phil Benwell</a>.</p>
<p>Se trata de un pequeño código en Javascript para modificar el contenido de cualquier página web que se esté visualizando. Evidentemente sólo funciona en local con las webs que tengamos cargadas en el navegador, pero podemos vacilar un poco delante de los amigos modificando la cifra de ganancias en AdSense o apareciendo en la primera página de algún periódico online.</p>
<p>Para ello, cuando estemos visualizando la web que queremos modificar, pegamos el siguiente código en la barra de direcciones del navegador:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">javascript<span style="color: #339933;">:</span>document.<span style="color: #660066;">body</span>.<span style="color: #660066;">contentEditable</span><span style="color: #339933;">=</span><span style="color: #3366CC;">'true'</span><span style="color: #339933;">;</span>
document.<span style="color: #660066;">designMode</span><span style="color: #339933;">=</span><span style="color: #3366CC;">'on'</span><span style="color: #339933;">;</span> <span style="color: #000066; font-weight: bold;">void</span> <span style="color: #CC0000;">0</span></pre></div></div>

<p>y pulsamos Intro, con lo que podremos editar cualquier parte de la página web: eliminar contenido, añadir imágenes, modificar texto,&#8230;</p>
<p>Como ya he dicho, estas modificaciones sólo actúan a nivel de nuestro ordenador local, con lo que no estamos modificando nada en Internet.</p>
<p><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fprogramadorasp.com%2Fmodificar-el-contenido-de-cualquier-pagina-web-cargada-en-local-con-javascript%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fprogramadorasp.com%2Fmodificar-el-contenido-de-cualquier-pagina-web-cargada-en-local-con-javascript%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fprogramadorasp.com%2Fmodificar-el-contenido-de-cualquier-pagina-web-cargada-en-local-con-javascript%2F&amp;counturl=http%3A%2F%2Fprogramadorasp.com%2Fmodificar-el-contenido-de-cualquier-pagina-web-cargada-en-local-con-javascript%2F&amp;count=horizontal&amp;text=Modificar%20el%20contenido%20de%20cualquier%20p%C3%A1gina%20web%20cargada%20en%20local%20con%20Javascript" scrolling="no" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fprogramadorasp.com%2Fmodificar-el-contenido-de-cualquier-pagina-web-cargada-en-local-con-javascript%2F&amp;counturl=http%3A%2F%2Fprogramadorasp.com%2Fmodificar-el-contenido-de-cualquier-pagina-web-cargada-en-local-con-javascript%2F&amp;count=horizontal&amp;text=Modificar%20el%20contenido%20de%20cualquier%20p%C3%A1gina%20web%20cargada%20en%20local%20con%20Javascript" scrolling="no" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fprogramadorasp.com%2Fmodificar-el-contenido-de-cualquier-pagina-web-cargada-en-local-con-javascript%2F&amp;size=medium&amp;count=true" scrolling="no" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fprogramadorasp.com%2Fmodificar-el-contenido-de-cualquier-pagina-web-cargada-en-local-con-javascript%2F&amp;size=medium&amp;count=true" scrolling="no" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><!--<![endif]--><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fprogramadorasp.com%2Fmodificar-el-contenido-de-cualquier-pagina-web-cargada-en-local-con-javascript%2F&amp;title=Modificar%20el%20contenido%20de%20cualquier%20p%C3%A1gina%20web%20cargada%20en%20local%20con%20Javascript" id="wpa2a_6">Compartir / Guardar</a></p><p>Related posts:<ol>
<li><a href='http://programadorasp.com/eliminar-saltos-de-linea-en-un-textarea-con-javascript/' rel='bookmark' title='Eliminar saltos de línea en un textarea con Javascript'>Eliminar saltos de línea en un textarea con Javascript</a></li>
<li><a href='http://programadorasp.com/generar-password-y-contrasenas-aleatorias-con-javascript/' rel='bookmark' title='Generar password y contraseñas aleatorias con javascript'>Generar password y contraseñas aleatorias con javascript</a></li>
<li><a href='http://programadorasp.com/la-world-wide-web-y-el-html-cumplen-20-anos/' rel='bookmark' title='La World Wide Web y el HTML cumplen 20 años'>La World Wide Web y el HTML cumplen 20 años</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://programadorasp.com/modificar-el-contenido-de-cualquier-pagina-web-cargada-en-local-con-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eliminar saltos de línea en un textarea con Javascript</title>
		<link>http://programadorasp.com/eliminar-saltos-de-linea-en-un-textarea-con-javascript/</link>
		<comments>http://programadorasp.com/eliminar-saltos-de-linea-en-un-textarea-con-javascript/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 14:11:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[expresiones regulares]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[saltos línea]]></category>

		<guid isPermaLink="false">http://www.programadorasp.com/?p=168</guid>
		<description><![CDATA[Alguna vez he tenido la necesidad de eliminar los saltos de línea en un campo de formulario de tipo textarea. Más aún, he tenido la necesidad de eliminar los saltos de línea del texto seleccionado dentro de un textarea. Con la siguiente función Javascript conseguimos localizar la porción de texto seleccionado y eliminar los saltos [...]
Related posts:<ol>
<li><a href='http://programadorasp.com/generar-urls-amigables-asp-expresiones-regulares/' rel='bookmark' title='Reemplazar carácteres con expresiones regulares en ASP para generar URL&#8217;s amigables'>Reemplazar carácteres con expresiones regulares en ASP para generar URL&#8217;s amigables</a></li>
<li><a href='http://programadorasp.com/validar-campos-y-parametros-con-expresiones-regulares-en-asp/' rel='bookmark' title='Validar campos y parámetros con expresiones regulares en ASP'>Validar campos y parámetros con expresiones regulares en ASP</a></li>
<li><a href='http://programadorasp.com/validar-fechas-con-expresiones-regulares-en-asp-y-javascrip/' rel='bookmark' title='Validar fechas con expresiones regulares en ASP y Javascript'>Validar fechas con expresiones regulares en ASP y Javascript</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>    Alguna vez he tenido la necesidad de eliminar los saltos de línea en un campo de formulario de tipo textarea. Más aún, he tenido la necesidad de eliminar los saltos de línea del texto seleccionado dentro de un textarea. Con la siguiente función Javascript conseguimos localizar la porción de texto seleccionado y eliminar los saltos de línea o line breaks (&#8220;\n&#8221;) y los retornos de carro o carrier return (&#8220;\r&#8221;). Para ello utilizamos funciones propias del lenguaje Javascript (createTextRange, duplicate, replace) y expresiones regulares.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> suprSaltos<span style="color: #009900;">&#40;</span>campo<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
 <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>campo.<span style="color: #660066;">createTextRange</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  campo.<span style="color: #000066;">focus</span><span style="color: #009900;">&#40;</span>campo.<span style="color: #660066;">caretPos</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  campo.<span style="color: #660066;">caretPos</span> <span style="color: #339933;">=</span> document.<span style="color: #660066;">selection</span>.<span style="color: #660066;">createRange</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">duplicate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>campo.<span style="color: #660066;">caretPos</span>.<span style="color: #660066;">text</span>.<span style="color: #660066;">length</span><span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #003366; font-weight: bold;">var</span> sel <span style="color: #339933;">=</span> campo.<span style="color: #660066;">caretPos</span>.<span style="color: #660066;">text</span><span style="color: #339933;">;</span>
   <span style="color: #003366; font-weight: bold;">var</span> fin <span style="color: #339933;">=</span> <span style="color: #3366CC;">''</span><span style="color: #339933;">;</span>
   <span style="color: #000066; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>sel.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span>sel.<span style="color: #660066;">length</span><span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #339933;">,</span> sel.<span style="color: #660066;">length</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span><span style="color: #3366CC;">' '</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    sel <span style="color: #339933;">=</span> sel.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> sel.<span style="color: #660066;">length</span><span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    fin <span style="color: #339933;">+=</span> <span style="color: #3366CC;">' '</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
   campo.<span style="color: #660066;">caretPos</span>.<span style="color: #660066;">text</span> <span style="color: #339933;">=</span> sel.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">new</span> RegExp<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'<span style="color: #000099; font-weight: bold;">\\</span>n'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'g'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span>. _
                          replace<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">new</span> RegExp<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'<span style="color: #000099; font-weight: bold;">\\</span>r'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'g'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> fin<span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> campo.<span style="color: #660066;">caretPos</span>.<span style="color: #660066;">text</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">''</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #000066; font-weight: bold;">else</span> campo.<span style="color: #660066;">value</span> <span style="color: #339933;">+=</span> <span style="color: #3366CC;">''</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Como en otras funciones, en esta función es necesario juntar la expresión en una única línea quitando los _ de final de línea porque de lo contrario no funcionará.</p>
<p><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fprogramadorasp.com%2Feliminar-saltos-de-linea-en-un-textarea-con-javascript%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service facebook_like" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fprogramadorasp.com%2Feliminar-saltos-de-linea-en-un-textarea-con-javascript%2F&amp;layout=button_count&amp;show_faces=false&amp;width=75&amp;action=like&amp;colorscheme=light&amp;height=20&amp;ref=addtoany" scrolling="no" style="border:none;overflow:hidden;width:90px;height:21px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fprogramadorasp.com%2Feliminar-saltos-de-linea-en-un-textarea-con-javascript%2F&amp;counturl=http%3A%2F%2Fprogramadorasp.com%2Feliminar-saltos-de-linea-en-un-textarea-con-javascript%2F&amp;count=horizontal&amp;text=Eliminar%20saltos%20de%20l%C3%ADnea%20en%20un%20textarea%20con%20Javascript" scrolling="no" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service twitter_tweet" src="http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fprogramadorasp.com%2Feliminar-saltos-de-linea-en-un-textarea-con-javascript%2F&amp;counturl=http%3A%2F%2Fprogramadorasp.com%2Feliminar-saltos-de-linea-en-un-textarea-con-javascript%2F&amp;count=horizontal&amp;text=Eliminar%20saltos%20de%20l%C3%ADnea%20en%20un%20textarea%20con%20Javascript" scrolling="no" style="border:none;overflow:hidden;width:130px;height:20px"></iframe><!--<![endif]--><!--[if IE]><iframe frameborder="0" allowTransparency="true" class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fprogramadorasp.com%2Feliminar-saltos-de-linea-en-un-textarea-con-javascript%2F&amp;size=medium&amp;count=true" scrolling="no" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><![endif]--><!--[if !IE]><!--><iframe class="addtoany_special_service google_plusone" src="https://plusone.google.com/u/0/_/%2B1/fastbutton?url=http%3A%2F%2Fprogramadorasp.com%2Feliminar-saltos-de-linea-en-un-textarea-con-javascript%2F&amp;size=medium&amp;count=true" scrolling="no" style="border:none;overflow:hidden;width:90px;height:20px"></iframe><!--<![endif]--><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fprogramadorasp.com%2Feliminar-saltos-de-linea-en-un-textarea-con-javascript%2F&amp;title=Eliminar%20saltos%20de%20l%C3%ADnea%20en%20un%20textarea%20con%20Javascript" id="wpa2a_8">Compartir / Guardar</a></p><p>Related posts:<ol>
<li><a href='http://programadorasp.com/generar-urls-amigables-asp-expresiones-regulares/' rel='bookmark' title='Reemplazar carácteres con expresiones regulares en ASP para generar URL&#8217;s amigables'>Reemplazar carácteres con expresiones regulares en ASP para generar URL&#8217;s amigables</a></li>
<li><a href='http://programadorasp.com/validar-campos-y-parametros-con-expresiones-regulares-en-asp/' rel='bookmark' title='Validar campos y parámetros con expresiones regulares en ASP'>Validar campos y parámetros con expresiones regulares en ASP</a></li>
<li><a href='http://programadorasp.com/validar-fechas-con-expresiones-regulares-en-asp-y-javascrip/' rel='bookmark' title='Validar fechas con expresiones regulares en ASP y Javascript'>Validar fechas con expresiones regulares en ASP y Javascript</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://programadorasp.com/eliminar-saltos-de-linea-en-un-textarea-con-javascript/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

