使用Java中的正则表达式检查有效的电子邮件地址

要验证给定的输入字符串是否为有效的电子邮件ID,请使用以下正则表达式来匹配给定的输入字符串以匹配电子邮件ID-

"^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$"

哪里,

  • ^匹配句子的开头。

  • [a-zA-Z0-9 + _.-]匹配英语字母表中的一个字符(两种情况),数字,“ +”,“ _”,“。” @符号前的“-”。

  • +表示重复上述字符集一次或多次。

  • @匹配自己。

  • [a-zA-Z0-9.-]匹配英语字母表中的一个字符(两种情况),数字“。” @符号后的“ –”。

  • $表示句子的结尾。

示例

import java.util.Scanner;
public class ValidatingEmail {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter your Email: ");
      String phone = sc.next();
      String regex = "^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$";
      //将给定的号码与正则表达式匹配
      boolean result = phone.matches(regex);
      if(result) {
         System.out.println("Given email-id is valid");
      } else {
         System.out.println("Given email-id is not valid");
      }
   }
}

输出1

Enter your Email:
example.samplemail@gmail.com
Given email-id is valid

输出2

Enter your Email:
sample?examplemail@gmail.com
Given email-id is not valid

例子2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter your name: ");
      String name = sc.nextLine();
      System.out.println("Enter your email id: ");
      String phone = sc.next();
      //接受有效电子邮件ID的正则表达式
      String regex = "^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$";
      //创建一个模式对象
      Pattern pattern = Pattern.compile(regex);
      //创建一个Matcher对象
      Matcher matcher = pattern.matcher(phone);
      //验证给定的号码是否有效
      if(matcher.matches()) {
         System.out.println("Given email id is valid");
      } else {
         System.out.println("Given email id is not valid");
      }
   }
}

输出1

Enter your name:
vagdevi
Enter your email id:
sample.123@gmail.com
Given email id is valid

输出2

Enter your name:
raja
Enter your email id:
raja$test@gmail.com
Given email id is not valid