Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <exception>
- #include <iostream>
- #include <regex>
- class email
- {
- private:
- std::string mail;
- public:
- email(std::string mail)
- {
- this->mail = mail;
- }
- bool isMail()
- {
- const std::regex pattern("^[A-Z0-9._%-]+@[A-Z0-9-]+?\\.[A-Z]{2,4}(\\.[A-Z]{2,4})?");
- std::regex_match(mail, pattern);
- }
- email* print()
- {
- std::cout<<"\n\tEmail: "<<mail<<(email(mail).isMail()?" Valid":" Invalid")<<"\n";
- }
- };
- int main(void)
- {
- std::string email1 = "regex_cpp@net.br";
- std::string email2 = "regex_cpp@terra.com.br";
- std::string email3 = "regex_cpp@hotmail.com.br.net"; /* nao pode validar */
- std::string email4 = "regex_cpp@hotmail.com";
- std::string email5 = "regex_cpp@yahoo.com.br";
- std::string email6 = "regex_cpp@gmail.com";
- std::string email7 = "regex_cpp@bol.com.br";
- std::string email8 = "regex.cpp@bol.com";
- std::string email9 = "reg_ex.cpp@bol.com";
- std::string email10 = "reg_ex.cpp@org.br";
- std::string email11 = "reg_ex.cpp@net.org.br";
- email(email1).print();
- email(email2).print();
- email(email3).print();
- email(email4).print();
- email(email5).print();
- email(email6).print();
- email(email7).print();
- email(email8).print();
- email(email9).print();
- email(email10).print();
- email(email11).print();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement