邮箱格式验证

#include<iostream>
using namespace std;
bool f(string a){
	int c=a.find('@'),e=a.find(' ');
	if(c<1||e!=-1){
		return 0;
	}else{
		int d=a.find('@',c+1);
		if(d!=-1){
			return 0;
		}
	}
	int h;
	int b=0,j=0;
	h=a.find('.');
	if(h==-1){
		return 0;
	}
	while(b!=-1&&j!=3){
		b=a.find('.',b+1);
		if(b==-1){
			break;
		}
		h=a.find('.',b+1);
		if(h==-1){
			for(int i=b+1;i<a.size();i++){
				if((a[i]-'0')>=0&&(a[i]-'0')<=9){
					return 0;
				}
			}
		}
		if((b+1)>=a.size()||c>b||a[b-1]=='@'||a[b+1]=='.'){
			return 0;
		}
		j++;
	}
	if(j==3){
		b=a.find('.',b+1);
		if(b!=-1){
			return 0;
		}
	}
	
	return 1;
}
int main(){
	string a;
	getline(cin,a);
	if(f(a)){
		cout<<"有效"; 
	}else{
		cout<<"无效";
	}
}

  

posted @ 2025-05-31 15:10  陈若麟  阅读(7)  评论(0)    收藏  举报