Red de conocimiento informático - Material del sitio web - Correo electrónico de programación en línea

Correo electrónico de programación en línea

# incluir & ltstdio.h & gt

# incluir & ltstring.h & gt

int? Comprobación de formato (char?*);

Char? *?SplitByAt(char?*?, int);

Char? *?CharsCheck(char?*);

#Definición? ¿norte? 1024

int? Señor()

{

¿Ciel? cadena[N], * campo

memset(cadena, 0x00, N);

scanf("%s ", cadena

campo=SplitByAt); (cadena, N);

if(field==NULL)

{

printf(" NO \ n ");

¿Regresar? -1;

}

¿Y si? if(verificación de formato(str)& & verificación de formato(campo))

{

printf(" YES \ n ");

¿Regresión? 0;

}

Otro

{

printf(" NO \ n ");

Regresar ? -1;

}

}

/**

* Verifique el formato del dominio/correo electrónico.

*/

int? Comprobación de formato (char? *str)

{

Char? * p;

for(;;)

{

p = caracteres comprobar(str);

if(p== str)

{

¿Volver? 0;

}

¿Y si? if(*p=='\0 ')

{

¿Regresión? 1;

}

¿Y si? if(*p!='.')

{

¿Devolver? 0;

}

p++;

str = p;

}

}?

/**

* Compruebe si @ se puede dividir en dos segmentos y devuelve la primera dirección del nombre de dominio. Si no, devuelve NULL.

*Parámetros: cadena, cadena fuente, longitud, límite de longitud (anticross)

*Esta función reemplazará el primer ' en la cadena fuente con '\0' @ ', el La dirección de correo electrónico y el nombre de dominio se han dividido.

*/

¿Ciel? *SplitByAt(char? *str, int? length)

{

Char? *p=strchr(str,'@');

if (p!= NULL &&(p-str)<longitud)

{

* p = 0;

p++;

¿Regresión? p;

}

¿Volver? NULL

}

/**

*Comprueba si str es continua'a'-'z','A'-'Z',' 0 '-'9' caracteres.

*Valor de retorno: la posición del primer carácter insatisfactorio.

*Por ejemplo: str="abc ", devuelve str+3;? Str="a#bc ", devuelve str+1;

*/

¿Carácter? *?CharsCheck(char?*str)

{

while((* str & gt;= ' a ' & amp& amp* str & lt='z')||

(* str & gt= ' A ' & amp& amp* str & lt='Z')||

(* str & gt= ' 0 ' & amp& amp* str & lt='9')||

*str=='_ ')

{

str++;

}

¿Volver? La solicitud str

} no menciona las reglas especiales para el símbolo ' _ ', por lo que el correo electrónico prefiere "_ _". _ _ @ _" también se puede verificar.