java :从控制台输入一个字符串,验证是不是邮箱?实例一个
发布网友
发布时间:2022-05-26 06:21
我来回答
共3个回答
热心网友
时间:2024-11-30 05:45
楼主你没说清楚合法邮箱的规则呀。下面我自定了一个合法邮箱规则,希望能帮助楼主理解。
代码如下:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个邮箱地址:");
String mail = sc.nextLine();
/*
设定邮箱地址的合法规则,合法邮箱地址要求如下:
(1)字符必须是英文或数字开始
(2)必须包含一个@
(3)@符号在. 符号前面
(4)以英文或数字结尾
*/
//设置一个正则表达式
String reg = "[\\w]+@[\\w]+.[\\w]+";
//告知此字符串是否匹配给定的正则表达式。
if(mail.matches(reg)) {
System.out.println("邮箱地址合法!");
}
else {
System.out.println("邮箱地址不合法!");
}
}
}
这里主要是采用正则表达式的方式。关于正则表达式,楼主可以查看Pattern类和Matcher类。楼主可以可以到网上查看下相关资料。很快就能理解了。
这里解释下上面的正则表达式String reg = "[\\w]+@[\\w]+.[\\w]+";
\w 表示单词字符:[a-zA-Z_0-9],上面是两个反斜杆是因为反斜杆是转义字符
+号表示:出现一次或多次 ,所以[\\w]+意思就是一到多个单词字符(英文或数字)
@ :直接表示@字符
.:表示点字符
综上所述。
String reg = "[\\w]+@[\\w]+.[\\w]+";的意思就是 :一到多个字符 + @ + 一到多个字符 + 点 + 一到多个字符。
正则表达式使用的好。可以解决很多问题。希望楼主能学好~~
热心网友
时间:2024-11-30 05:45
这个可以用正则表达式.应该会简单..但是我之听说过正则表达式不会用.
用笨办法..检查下字符串中是否含有 @ 然后最后3 到4位是不是.com .cn .cc什么的就行了
热心网友
时间:2024-11-30 05:46
正则表达式能实现 网上有很多 你找找看看 一个一个测试一下