java :从控制台输入一个字符串,验证是不是邮箱?实例一个

如题所述

楼主你没说清楚合法邮箱的规则呀。下面我自定了一个合法邮箱规则,希望能帮助楼主理解。
代码如下:
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]+";的意思就是 :一到多个字符 + @ + 一到多个字符 + 点 + 一到多个字符。
正则表达式使用的好。可以解决很多问题。希望楼主能学好~~
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-05
这个可以用正则表达式.应该会简单..但是我之听说过正则表达式不会用.
用笨办法..检查下字符串中是否含有 @ 然后最后3 到4位是不是.com .cn .cc什么的就行了
第2个回答  2011-12-06
正则表达式能实现 网上有很多 你找找看看 一个一个测试一下

java :从控制台输入一个字符串,验证是不是邮箱?实例一个
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...

java中怎么在控制台输入字符串
import java.util.Scanner;public class HelloWorld {public static void main(String[] args) {System.out.println("控制台输入字符串开始"); Scanner input =new Scanner(System.in);String instr = input.nextLine();System.out.println("控制台输入字符串结束");}}效果图 ...

java控制台程序怎样输入一个字符,而不用按回车接收?
\/\/ 使用 BufferedReader 在控制台读取字符 import java.io.*; public class BRRead { public static void main(String args[]) throws IOException { char c; \/\/ 使用 System.in 创建 BufferedReader BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); S...

如何从java控制台输入带空格的字符串?
Java控制台输入带空格的字符串,读取的时候只要按照行来读取,就可以获取到输入的空格,下面是示例:\/**按行读取 *\/import java.io.*;public class SystemInTest {public static void main(String[] args) { BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));\/\/建立从...

Java:从控制台输入一行字符串(用nextline方法)各单词之间分隔符有空格有...
import java.util.Scanner;public class test{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in);int count = 0;if(scanner.hasNext()){ String[] ss = scanner.nextLine().split("\\\\W+");for(String s: ss){ count++;System.out.println(s);} } S...

如何用java实现,从控制台输入字符串,然后确定字符串中的元素所在的位置...
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));这样就能从控制台输入了 其他的一些自己搞定了

编写java程序:输入一个字符串,判断有几个英文字母,有几个数字,有几个...
public static void main(String args[]){ String str1="abfdTE1879!!";\/\/可以从控制台输入 String str2=str1.replaceAll("[a-z|A-Z]","");System.out.println("英文字符的个数为"+(str1.length()-str2.length()));str1=str2;str2=str1.replaceAll("[0-9]","");System.out....

java中怎样从键盘输入一个字符然后输出,求完整的程序
string s = br.readLine();\/\/readLine()读入程序中的是一个字符串。\/\/java貌似从控制台读入的都是字符串,一般都要进行转化。System.out.println(s);System.out.println("请输入一个字符:");char c = br.readLine().charAt(0);System.out.println(c);System.out.println("请输入一个双精度...

java 如何实现在控制台输入,直到输了"#"结束输入
import java.util.Scanner;public class InputTest {public static void main(String[] args) {Scanner input = new Scanner(System.in);String val = null;\/\/ 记录输入的字符串do{System.out.print("请输入:");val = input.next();\/\/ 等待输入值System.out.println("您输入的是:"+val);}...

java如何输入字符串
首先需要引入import java.util.Scanner;实例化Scanner Scanner input=new Scanner(System.in);\/\/从控制台输入,也可以是从文件或者流输入.String s1=input.next();System.out.println("您刚才输入的字符串是:"+s1) \/\/将输入的字符串输出

相似回答