[C] Walidacja danych (adresu email)

0

W jaki sposób mogę zrobić walidację następujących zmiennych (nie używając bibliotek niestandardowych)?

  1. pojedyncze słowo (tylko litery);
  2. maila;

Dziękuję za pomoc.
Pozdrawiam.

0

Do sprawdzenia słowa: pętla + isalpha()
Do maila to już musisz sprawdzić po standardowej składni:
1 - jedno wystąpienie @
2 - dowolna ilość kropek przed i po @, ale te ciągi na jakie dzieli maila @ nie mogą zaczynać się lub kończyć kropką.
3 - pozostałe znaki to alfanumeryczne isalnum() oraz _ i -
4 - ciąg po @ zawiera z reguły jedną kropkę (rzadko więcej ale nigdy żadnej)

0
Loloki napisał(a)

4 - ciąg po @ zawiera z reguły jedną kropkę (rzadko więcej ale nigdy żadnej)

tenzuy@localhost

0

zawsze chciałem to zrobić ;]

1 - jedno wystąpienie @
3 - pozostałe znaki to alfanumeryczne isalnum() oraz _ i -

\@$+$@[11.11.11.11]
"hello world ;)"@example.com
0
ten zuy napisał(a)
Loloki napisał(a)

4 - ciąg po @ zawiera z reguły jedną kropkę (rzadko więcej ale nigdy żadnej)

tenzuy@localhost

To ja Ci prześlę maila na ten adres co?? :>

0

btw: o ile takie zabawy jak
\@$+$@[11.11.11.11]
są ciekawostką (bo chociaż zgodne z RFC, "raczej" nieużywane) to już adres:
[email protected]
ma zastosowanie bardzo praktyczne (znak plus ma na gmailu specjalne znaczenie)

dokładniej: uczciwa walidacja loginu nie jest taka łatwa, bo mamy cudzysłowy (a w "" może być wszystko) i escape'owanie (a po \ mogą być wszystkie znaki specjalne).
dodatkowo jest kilkanaście znaków niealfanumerycznych, które escape'owania nie potrzebują.

0

@Loloki, w obrębie domeny działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1