邮箱地址检测系统

 1 #include <iostream> 
 2 using namespace std;
 3 bool p(string a){
 4     int j=0;
 5     bool lj=true;
 6     for(int i=0;i<a.size();i++){
 7         if(a[i]=='.'){
 8             j++;
 9             if(lj){
10                 return false;
11             }
12         }
13         if(a[i]=='@'){
14             lj=false;
15         }
16     }
17     if(j==0||j>3){
18         return 0;
19     }
20     size_t l=a.find(' ');
21     if(l!=string::npos){
22         return false;
23     }
24     l=a.find('@');
25     if(l==string::npos ||l==0){
26         return false;
27     }
28     a[l]=' ';
29     if(a[l+1]=='.'){
30         return false;
31     }
32     l=a.find('@',l);
33     if(l!=string::npos){
34         return false;
35     }
36     l=a.find('.');
37     if(l==string::npos){
38         return false;
39     }
40     if(a[l+1]=='.'){
41         return false;
42     }
43     a=a.substr(a.rfind('.'));
44     if(a.empty()){
45         return false;
46     }
47     for(int i=0;i<a.size();i++){
48         if(a[i]>='0' && a[i]<='9'){
49             return false;
50         }
51     }
52     return true;
53 }
54 int main(){
55     cout<<"请输入要检测的邮箱地址:";
56     string a;
57     getline(cin,a);
58     if(p(a)){
59         cout<<"yes";
60     }else{
61         cout<<"no";
62     }
63     return 0;
64 }

 

posted @ 2025-05-31 15:13  -刘-j-x-  阅读(6)  评论(0)    收藏  举报