Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Javascript (http://www.forosdelweb.com/f13/)
-   -   Convertir \ en \\ en JavaScript (http://www.forosdelweb.com/f13/convertir-javascript-586448/)

PPLPU 14/05/2008 11:46

Convertir \ en \\ en JavaScript
 
Hola, tengo un <input type=file name=a1> en un formulario, y lo que quiero es reemplazar todas las diagonales invertidas ('\') por dos del mismo tipo ('\\') en el contenido de éste. Ya lo intenté con el método replace de String, pero me devuelve error de página por ser un caracter de escape. ¿Algún consejo de cómo lo podría resolver?
Muchas gracias x ayudar :si:

a2a2 14/05/2008 11:55

Re: Convertir \ en \\ en JavaScript
 
Has probado a ver si te vale la barra invertida codificada como "entitie" ?: &# 92; ( quitando el espacio)

PPLPU 14/05/2008 12:00

Re: Convertir \ en \\ en JavaScript
 
oye a2a2 me podrías explicar un poco sobre cómo usar esto? es que no lo he usado
Gracias :si:

a2a2 14/05/2008 12:06

Re: Convertir \ en \\ en JavaScript
 
Cualquier caracter se puede poner en HTML expresado como "entitie". El navegador cuando ve la entidad, la sustituye por el caracter correspondiente.
NOTA: los espacios despues del caracter '#' hay que quitarlos, los pongo para que el navegador no lo interprete y muestre el caracter correspondiente.
Por ejemplo, el caracter 'A' es: &# 65; , el caracter 'B' es: &# 66; , el caracter '\' es el &# 92;, etc.

Pues bien, no lo he probado, pero mi sugerencia era que en el replace, en lugar de poner el caracter '\' pongas la entidad &# 92;

PPLPU 14/05/2008 12:11

Re: Convertir \ en \\ en JavaScript
 
Muy bien, entonces lo voy a probar así, y al rato te cuento que tal.
Y muchas gracias de nuevo :si:

PPLPU 14/05/2008 12:30

Re: Convertir \ en \\ en JavaScript
 
Ya lo probe y no funciona, escribo:

x1=texto.replace('&# 92','X');

ó

x1=texto.replace(&# 92,'X');

en ambos casos sin el espacio y no, en el 2º caso me marca error, creo que porque no le pongo las apóstrofes.
En el 1º lo toma literalmente como una cadena a reemplazar, hasta que encuentre esa cadena la sustituye por X.
¿Algún otro consejo? ¿No existe otra función que acepte las \ como cadena y no como caracter especial?
Incluso intenté hacer la sustitución en Java y pasa lo mismo por ser \, pero por eso quiero convertirlo en la página para enviarlo al servlet ya listo:

C:\\Directorio1\\Directorio2\\Archivo.txt
y así poderlo leer. Gracias x ayudar :si:

PPLPU 14/05/2008 13:05

Re: Convertir \ en \\ en JavaScript
 
Ya lo he solucionado, solo faltaba poner su equivalencia:

\\ = \
\\\\= \\
Cita:

<html>
<body>
<script>
function aa(texto){
var x1=texto.replace(/\\/g,'\\\\');
document.all.b.value=x1;
}
</script>
<input type=text name=a>
<input type=text name=b>
<input type=button name=p onClick='aa(document.all.a.value)' value='Aceptar'>
</body>
</html>

De esta forma, si la entrada es:
C:\Documents and Settings\Administrador\Mis documentos\Gen\index.html

La salida sería:
C:\\Documents and Settings\\Administrador\\Mis documentos\\Gen\\index.html

El /g que agrego al final de la cadena a buscar es solo para que reemplace en toda la cadena.
Gracias otra vez x ayudar :si:


La zona horaria es GMT -6. Ahora son las 00:42.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.