Foros del Web » Programando para Internet » ASP Clásico »

eliminar caracteres estraños,como espacios, puntos... en una clave.

Estas en el tema de eliminar caracteres estraños,como espacios, puntos... en una clave. en el foro de ASP Clásico en Foros del Web. Tengo un formulario con usuario y clave. Tanto el usuario y la clave se ven al escribirla, no salen ****. Quiero que si alguien introduce ...
  #1 (permalink)  
Antiguo 12/07/2004, 11:30
 
Fecha de Ingreso: mayo-2004
Mensajes: 28
Antigüedad: 21 años
Puntos: 0
eliminar caracteres estraños,como espacios, puntos... en una clave.

Tengo un formulario con usuario y clave.
Tanto el usuario y la clave se ven al escribirla, no salen ****.
Quiero que si alguien introduce una clave como 634.582.585, se eliminen los puntos( o espacios, o guiones....) y la clave sea solo los numeros.

Se puede hacer con asp, o es mejor hacer un a ventana de dialogo en javascript.

Gracias.
  #2 (permalink)  
Antiguo 12/07/2004, 15:10
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 4 meses
Puntos: 3
mira con ASP lo puedes hacer recien cuando el usuario envio sus datos. Si lo quieres hacer mientras el usuario esta escribiendo y se borren esas cosas preugnta en el foro de javascript.

con ASP:

<%
xclave = trim(request.Form("passoword"))
xclave = Replace(xclave, ".", "")
xclave = Replace(xclave, ",", "")
'lo q he hecho a sido remplazar en el password la coma y el punto por nada.
'tambien lo puedes remplazar por otra cosa, por ejemplo la coma por punto y el punto x coma
xclave = Replace(xclave, ".", ",")
xclave = Replace(xclave, ",", ".")
%>
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #3 (permalink)  
Antiguo 12/07/2004, 15:53
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 21 años
Puntos: 4
Porque no mejor restringes a solo numeros????

if(window.event.keyCode< 48 or window.event.keyCode>57)then
window.event.returnValue=false
end if

Asocialo a un manejador onkeypress de tu campo.
  #4 (permalink)  
Antiguo 12/07/2004, 23:21
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 4 meses
Puntos: 3
a ya... solo quieres poner numeros? xq si es asi me parece que está bien lo que dice orharo2003, yo tengo ahi unos scripts que miran si son numeros u otras cosas, que en verdad es casi lo mismo a lo que a puesto él. Pero responde para saber si está bien lo que te estamos diciendo.
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #5 (permalink)  
Antiguo 13/07/2004, 02:38
 
Fecha de Ingreso: mayo-2004
Mensajes: 28
Antigüedad: 21 años
Puntos: 0
si , eso es lo que quiero restringirlo a numeros.
Si me puedes postear esos scripts para verlos, te lo agradezco.
Voy a probar el script de orharo2003.
Gracias.
  #6 (permalink)  
Antiguo 13/07/2004, 10:25
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 4 meses
Puntos: 3
<input type="password" name="clave" onKeyPress="LP_data();">

<script language="JavaScript">
function LP_data(){
var key=window.event.keyCode;//codigo de tecla.
if (key < 48 || key > 57){//si no es numero
window.event.keyCode=0;//anula la entrada de texto.
alert("Solo puede escribir números en este campo");
}
}
</script>
eso hará que solo se pueda escribir numeros. Es bien parecido a lo que dijo orharo2003. Suerte
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #7 (permalink)  
Antiguo 14/07/2004, 05:22
 
Fecha de Ingreso: mayo-2004
Mensajes: 28
Antigüedad: 21 años
Puntos: 0
Muchas gracias, es perfecto para lo que quiero.
Ahora estoy buscando un codigo, para que cuando pone la clave erronea, o el ususario, le diga que lo ha puesto mal o no es usuario registrado.
Esto supongo que es mejor en asp.
Sabeis donde puedo ver un codigo que haga esto?
Muchas gracias a los dos.
  #8 (permalink)  
Antiguo 14/07/2004, 06:05
 
Fecha de Ingreso: mayo-2004
Mensajes: 28
Antigüedad: 21 años
Puntos: 0
pequeño problema con el script

Hola , he usado el codigo que me has posteado, lo unico si pulso la tecla intro no lo coge y salta el mensage de introducir numeros, he de pulsar en el boton de enviar para que pase a la siquiente pagina.
¿Como soluciono este problemilla?
Gracias.
  #9 (permalink)  
Antiguo 14/07/2004, 11:07
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 4 meses
Puntos: 3
tendrías que saber cual es el numero que es para intro y decir que si lo acepte, no lo sé... jejejeje... y para ver si es usuario o no....

<%
xusuario = trim(request.Form("usuario"))
xpassword = trim(request.Form("password"))

strSQL = "select * from usuarios where usuario = '"&xusuario&"' and password = '"&xpassword&"'"

set oRS = oCN.execute(strSQL)

if oRS.eof then 'significa que no existe nadie q tenga el usuario y password igual al que pusieron el formulario
else ' si existe

end if
%>
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #10 (permalink)  
Antiguo 14/07/2004, 11:11
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
el número del "intro" es, si mal no recuerdo, el 13
  #11 (permalink)  
Antiguo 15/07/2004, 03:36
 
Fecha de Ingreso: mayo-2004
Mensajes: 28
Antigüedad: 21 años
Puntos: 0
que tendria que poner para que al pulsar el intro pase a la siquiente pagina, aunque el cursor este en el 2º campo de usuario:
Lo que tendria que poner en el codigo seria=
if (key < 48 || key > 57 & key<> 13) ???
gracias.
  #12 (permalink)  
Antiguo 15/07/2004, 12:48
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 4 meses
Puntos: 3
me imagino que tiene q ser algo asi:

if ((key < 48 || key > 57) & key<> 13)

a ver prueba
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #13 (permalink)  
Antiguo 15/07/2004, 13:12
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Normalmente no es bueno que se pase a la siguiente página si el usuario presiona "Enter" en alguno de los campos, lo normal es que se pase al siguiente campo.

Ahora, si deseas validar con javascript que se pase a la siguiente página en cualquier campo, implementa la rutina en tu funcion LP_data() y mueve el manejador del evento del control del formmulario al body: <body onKeyPress="LP_data();">

Saludos
  #14 (permalink)  
Antiguo 16/07/2004, 02:42
 
Fecha de Ingreso: mayo-2004
Mensajes: 28
Antigüedad: 21 años
Puntos: 0
Muchas gracias por la ayuda.He probado poniendo if ((key < 48 || key > 57) & key<> 13 ), y ya no hace efecto el script, no sale el mensaje avisando al cliente.Se pueden poner puntos, comas....

SI pongo en el body la funcion <body onKeyPress="LP_data();"> sale el mensaje obligandome a introducir numeros tanto en el usuario como en la clave , y solo kiero que salgan en el campo de la clave.

Gracias.
  #15 (permalink)  
Antiguo 16/07/2004, 08:11
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Con poner el evento onKeyPress en el body, te habras dado cuenta que puedes definir eventos a nivel de documento, no solo de control, eso te podrá dar una idea de como programar la rutina de que sin importar en que control este se cambie de página.
Ahora, por lo que se "anula" el script, es por que hay un error. Seguramente habras notado que sale in icono amarillo en la barra de status, esto es por que tienes desactiva la opcion de presentar un mensaje de error en mensajes http.
Si investigas un poco sabras que la sintaxis de javascript es parecida a la de C y en C el AND y el diferente no son como los tecleaste, deberia ser algo así:
if (key < 48 || key > 57) && (key != 13))

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:23.