Foros del Web » Programando para Internet » Javascript »

Expresiones regulares

Estas en el tema de Expresiones regulares en el foro de Javascript en Foros del Web. Saludos, quiero que me lance un error cada vez que en el cuadro de texto escriba un caracter que no sea letra. La función es ...
  #1 (permalink)  
Antiguo 07/11/2008, 16:23
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 20 años, 11 meses
Puntos: 8
Expresiones regulares

Saludos, quiero que me lance un error cada vez que en el cuadro de texto escriba un caracter que no sea letra.

La función es esta (JavaScript):
Código PHP:
function ValidarNombreUsuario()
{
    var 
nom document.getElementById("nfull");
    var 
ok document.getElementById("okfull");
    var 
Exp = /^[a-zA-Z]/;
    
    if (
nom.value.match(Exp)) {
        
CambiarControlGood("nfull");
        
ok.innerHTML "OK";
        
with (ok.style) {
            
color "#009933";
            
fontWeight "bold";
        }
        return 
true;
    }
    else {
        
CambiarControlError("nfull");
        
ok.innerHTML "ERROR";
        
with (ok.style) {
            
color "#D52F2E";
            
fontWeight "bold";
        }
        return 
false;
    }

y en la pagina lo llamo asi:
Código PHP:
<input type="text" name="nfull" id="nfull" value="" size="50" 
    
onfocus="ValidarNombreUsuario();" 
    
onkeyup="ValidarNombreUsuario();" 
    
onkeydown="ValidarNombreUsuario();" />
<
span><img src="img/start.png" title="Requerido" /></span>
<
span id="okfull"></span
Asi como está, válida solo el comienzo, es decir la primera letra, pero si yo empiezo con letras(lo cual está bien) y luego escribo un número, no me sale error, que cosa está mal?.
__________________
El aprendiz.
  #2 (permalink)  
Antiguo 07/11/2008, 17:03
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 11 meses
Puntos: 834
Respuesta: Expresiones regulares

Probá así:
Código:
var Exp = /^[a-zA-Z]*$/;
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 18:18.