Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Como Determinar Que Una Palabra Contenga Caracteres Especificos
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Como Determinar Que Una Palabra Contenga Caracteres Especificos 
 
buenas noches hermanos, recurro a ustedes en busca de un consejo para resolver un conflicto, me estoy iniciando en el mundo de la programación y estoy haciendo una interface de login, ya tengo todo listo pero quisiera que en el registro de nuevos usuarios,  en el campo del email pueda utilizar un código para que en el textbox q recibirá la información del usuario me valide las direcciones de correo que yo le coloque ejemplo:

textbox1.text = ............ cuando el usuario introduzca esta info necesito que la linea de codigo del textbox1 me valide que si contiene la "@gmail.com" o "@hotmail.com" acepte la introducción de datos.

por el contrario si textbox1.text = nestor4579gmail me arroje un mensaje de error y no me deje registrarla como correo....en vb 2010lo se hacer pero en gambas esto ha sido una piedra de tranca... el código que llevo hasta el momento (solo para este caso) es el siguiente

dim cadena as string = " "

cadena = textbox1.text

if cadena (aquí esta el detalle no se cual seria la sintaxis para hacer lo que quiero) ("@gmail.com" or "@hotmail.com" or "hotmail.es") then
              messenge.info("correo validado con exito")
else
              messenge.error("correo invalido, servidor inexistente")
              textbox1.clear()
              textbox1.setfocus()
endif


de antemano muchas gracias por la ayuda que me puedan prestar.....
 



 
Nestor4579 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Determinar Que Una Palabra Contenga Caracteres Especificos 
 
Desde hace tiempo yo utilizo esta función para eso:


Public Function isMail(cad As String) As Boolean

    Dim lret As Boolean

    lret = True
    If InStr(cad, "@") = 0 Or InStr(Trim(cad), " ") > 0 Or InStr(cad, ".") = 0 Then
        lret = False
    Endif
    Return lret

End

Te valida si contiene una @ y un punto y que no tenga espacios en blanco. Es suficiente, creo.
Soĺo tienes que hacer algo así como:

if isMail(txtMail.Text) then
' procesoregistro
else
'mensaje de error
'no proceso registro
endif
 

 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Determinar Que Una Palabra Contenga Caracteres Especificos 
 
Solo una variante a la solución de shordi.

Public Sub Main()

  Dim cadena As String
  
    cadena = "nosoypythonista@yahooes"

    If (Scan(cadena, "*@*.*").Count = 0) Or (InStr(cadena, Chr(32))) Then Print "La dirección no es valida !"
      
End


...análogamente, pero, hay también otros carácteres que no son compatibles con una dirección de correo electrónico.    
En este caso habrá que efectuar un análisis más profundo de la cadena para buscar y identificar los caracteres no compatibles.
 



 
última edición por vuott el Viernes, 08 Enero 2016, 11:46; editado 7 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Determinar Que Una Palabra Contenga Caracteres Especificos 
 
Citar:

...análogamente, pero, hay también otros carácteres que no son compatibles con una dirección de correo electrónico.    
En este caso habrá que efectuar un análisis más profundo de la cadena para buscar y identificar cada caracter.

Eso me lo estuve planteando en su momento, pero no tengo claro cuales son los caracteres ilegales. Hace dos o tres años se abrió el estánar al reconocimiento de caracteres como vocales con tilde, ñ y demás... y supongo que caracteres de otros países como la O barrada de los Suecos y demás también... por eso preferí dejarlo así.

Saludos.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Determinar Que Una Palabra Contenga Caracteres Especificos 
 
Te entiendo, shordi. Sì.
La identificación es un poquito compleja:
https://en.wikipedia.org/wiki/Email_address#Syntax
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Determinar Que Una Palabra Contenga Caracteres Especificos 
 
shordi escribió: [Ver mensaje]
Desde hace tiempo yo utilizo esta función para eso:


Public Function isMail(cad As String) As Boolean

    Dim lret As Boolean

    lret = True
    If InStr(cad, "@") = 0 Or InStr(Trim(cad), " ") > 0 Or InStr(cad, ".") = 0 Then
        lret = False
    Endif
    Return lret

End

Te valida si contiene una @ y un punto y que no tenga espacios en blanco. Es suficiente, creo.
Soĺo tienes que hacer algo así como:

if isMail(txtMail.Text) then
' procesoregistro
else
'mensaje de error
'no proceso registro
endif
 



MUCHAS GRACIAS POR SU PROTA RESPUESTA PERO AUN TENGO UNA DUDA ME GUSTARIA ALGO SIMILAR AL COMANDO CONSTAINS DE VB.    OSEA QUE EN VEZ DE VALIDAR SOLO EL @ ME VALIDE TODA LA PALABRA DEL SERVIDOR OSEA PARA LIMITAR LOS CORREOS QUE PUEDES INGRESAR EJEMPLO @GMAIL.COM.......@HOTMAIL.COM .....@YAHOO.ES Y ASI.....GRACIAS DE NUEVO
 



 
Nestor4579 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Determinar Que Una Palabra Contenga Caracteres Especificos 
 
En el código subido tienes la respuesta. Si puedes validar si contiene @ lo mismo puedes hacer para ver si contiene@gmail.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Determinar Que Una Palabra Contenga Caracteres Especificos 
 
Nestor4579, para validar la parte del dominio de un correo electronico, tendrías que tener una lista de aquellos dominios, donde buscarlos.

Por ejemplo la lista podría ser contenida en un array de tipo String[ ]. Los dominios serán buscados con el método .Exist( ) del array.
 



 
última edición por vuott el Sabado, 09 Enero 2016, 00:34; editado 2 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Determinar Que Una Palabra Contenga Caracteres Especificos 
 
No he leído detenidamente el post. Pero con expresiones regulares tambien se podría resolver.
Usando el componente gb.pcre

En este caso tenemos una lista de correos electrónicos si pertenecen a un dominio se mostraran.

Public Sub Main()
  Dim direcciones As String[] = ["jose@hotmail.com", "antonio@yahoo.es", "lidia@gmail.com"]
  Dim email As String
  
  For Each email In direcciones
    If RegExp.Match(email, "(yahoo|gmail)") Then Print email  
  Next  
End
 


Solo se mostraran los que pertenecen a Yahoo y Gmail.

Citar:





Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Determinar Que Una Palabra Contenga Caracteres Especificos 
 
Shell escribió: [Ver mensaje]
Usando el componente gb.pcre

En este caso tenemos una lista de correos electrónicos si pertenecen a un dominio se mostraran.

Muy bien !
Solo hay un problema: regresando un tipo String y no Boolean, no obtienes una validación immediata del dominio.
 



 
última edición por vuott el Sabado, 09 Enero 2016, 15:19; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron