Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/01/2008, 10:40
Avatar de Shiryu_Libra
Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Re: Lio con una excepcion a una condicion


sustituyendo esta parte
Cita:
elseif request.form("email")<>"www.lalala.com" then
if request.form("email")="" or instr(request.form("email"),"@")=false or instr(request.form("email"),".")=false then
response.write("este email no vale<a href=""javascript:history.go(-1)"">atras</a>
end if
agregando esta funcion

Código PHP:
 <% 
function 
validarEmail(email
       
dim partespartei
       
'rompo el email en dos partes, antes y después de la arroba 
       partes = Split(email, "@") 
       if UBound(partes) <> 1 then 
              '
si el mayor indice del array es distinto de 1 es que no he obtenido las dos partes 
              validarEmail 
false 
              
exit function 
       
end if 
       
'para cada parte, compruebo varias cosas 
       for each parte in partes 
              '
Compruebo que tiene algún caracter 
              
if Len(parte) <=  0 then 
                     validarEmail 
false 
                     
exit function 
              
end if 
              
'para cada caracter de la parte 
              for i = 1 to Len(parte) 
                     '
tomo el caracter actual 
                     c 
Lcase(Mid(partei1)) 
                     
'miro a ver si ese caracter es uno de los permitidos 
                     if InStr("._-abcdefghijklmnopqrstuvwxyz", c) <= 0 and not IsNumeric(c) then 
                            validarEmail = false 
                            exit function 
                     end if 
              next 
              '
si la parte actual acaba o empieza en punto la dirección no es válida 
              
if Left(parte1) = "." or Right(parte1) = "." then 
                     validarEmail 
false 
                     
exit function 
              
end if 
       
next 
       
'si en la segunda parte del email no tenemos un punto es que va mal 
       if InStr(partes(1), ".") <= 0 then 
              validarEmail = false  
              exit function 
       end if 
       '
calculo cuantos caracteres hay después del último punto de la segunda parte del mail 
       i 
Len(partes(1)) - InStrRev(partes(1), "."
       
'si el número de caracteres es distinto de 2 y 3 
       if not (i = 2 or i = 3) then 
              validarEmail = false 
              exit function 
       end if 
       '
si encuentro dos puntos seguidos tampoco va bien 
       
if InStr(email"..") > 0 then 
              validarEmail
=false 
              
exit function 
       
end if 
       
validarEmail true 
end 
function 
%> 
quedaria mas o menos de esta forma

Cita:
elseif request.form("email")<>"www.lalala.com" then
if validarEmail(email)=false then
response.write("este email no vale<a href=""javascript:history.go(-1)"">atras</a>
end if


sera???
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra