Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/10/2007, 17:48
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Expresion regular por la derecha

Hola:

La palabra clave: negative lookahead. Es decir: buscaremos primero http://, luego cualquier caracter que no esté seguido de http. Es tan sencillo como

Código PHP:
var paraProbar = [
    
"http://asdasdasp",
    
"http://asdasdastas",
    
"http://asdjpahttp",
    
"http://asdjpaht",
    
"httpasdjiphttp://asds",
    
"http://asjdpihttp://ashp",
    
"http://httpasdas"
];

var 
re = /^http://(.(?!http))+$/

for(var 
i=0i<paraProbar.lengthi++) {
    
document.writeparaProbar[i]+" ==> "+re.testparaProbar[i] ) +"<br/>");

Cita:
Iniciado por output
http://asdasdasp ==> true
http://asdasdastas ==> true
http://asdjpahttp ==> false
http://asdjpaht ==> true
httpasdjiphttp://asds ==> false
http://asjdpihttp://ashp ==> false
http://httpasdas ==> true
No he conseguido que me de false la última... a ver si lo consigo cuando esté más lúcido. El problema es que no hay ningún caracter entre http:// y http, luego el primer caracter es h, y como esta seguido de ttp pues da true...

De todas maneras si quieres validar direcciones URL ésta no es la forma correcta.



Un saludo
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.