package com.imooc;
import java.util.Scanner;
/**
* ClassName Demo03
*
* @Description: TODO
* @Author shinelon
* @Date 2020/8/3 18:38
* @Version 1.0
*/
public class Demo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的邮箱");
String str = scanner.next();
if(isCheckEmail(str)){
System.out.println("输入正确");
}
else {
System.out.println("请重新输入");
main(args);
}
}
private static boolean isCheckEmail(String str) {
char[] a = str.toCharArray();
int index1 = str.indexOf('@');//第一个@的位置
int index2 = str.indexOf('.');//第一个.的位置
int lastindex1 = str.lastIndexOf('@');//最后一个@的位置
int lastIndex2 = str.lastIndexOf('.');//最后一个.的位置
int num=0;
for(int i = 0;i<lastindex1;i++){
if(!(a[i]>='0'&&a[i]<='9'||a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z'||a[i]=='_')){
System.out.println("要求用户名只能由字母,数字或者是下划线构成");
return false;
}
}
for(int i=0;i<str.length();i++){
if(a[i]=='@'){
num++;
}
}
System.out.println(index1);
System.out.println(num);
if(index1==-1||index2==-1){
System.out.println("必须有@和.");
return false;
}
if(index1==0||index1==str.length()-1||index2==0||index2==str.length()-1){
System.out.println("@和.不能出现在首尾");
return false;
}
if(num!=1){
System.out.println("@只能有一个");
return false;
}
if(lastIndex2<=index1){
System.out.println("@后面至少要有一个.");
return false;
}
if(index1-index2==1||index2-index1==1){
System.out.println("@不能和.相邻");
return false;
}
return true;
}
}
非正则表达式的邮箱简单验证
最新推荐文章于 2022-03-02 01:04:02 发布