⑴ 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]+";的意思就是 :一到多个字符 + @ + 一到多个字符 + 点 + 一到多个字符。正则表达式使用的好。
合法E-mail地址: 1. 必须包含一个并且只有一个符号“@” 2. 第一个字符不得是“@”或者“.” 3. 不允许出现“@.”或者.@ 4. 结尾不得是字符“@”或者“.” 5. 允许“@”前的字符中出现“+” 6. 不允许“+”在最前面,或者“+@”
⑵ 求一个Java邮箱匹配正则表达式!!谢谢咯!!
^[A-Za-z0-9][\\w\\-\\.]{3,12}@([\\w\\-]+\\.)+[\\w]{2,3}$
本人测试过的,
以英文字母数字开头结尾,账号部分4-13个字符,可出现字母,数字,短横线,点
域名部分,可出现二级域名,3级域名等等,以2到3个字符的字母数字结尾
⑶ JAVA中写邮箱格式的正则表达式,怎么写
合法E-mail地址:
1.
必须包含一个并且只有一个符号“@”
2.
第一个字符不得是“@”或者“.”
3.
不允许出现“@.”或者.@
4.
结尾不得是字符“@”或者“.”
5.
允许“@”前的字符中出现“+”
6.
不允许“+”在最前面,或者“+@”
正则表达式如下:
-----------------------------------------------------------------------
^(\w+((-\w+)|(\.\w+))*)\+\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$
-----------------------------------------------------------------------
字符描述:
^
:匹配输入的开始位置。
\:将下一个字符标记为特殊字符或字面值。
*
:匹配前一个字符零次或几次。
+
:匹配前一个字符一次或多次。
(pattern)
与模式匹配并记住匹配。
x|y:匹配
x
或
y。
[a-z]
:表示某个范围内的字符。与指定区间内的任何字符匹配。
\w
:与任何单词字符匹配,包括下划线。
$
:匹配输入的结尾。