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

Python020

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

自定了一个合法邮箱规则,希望能帮助理解。代码如下:import java.util.Scannerpublic 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. 不允许“+”在最前面,或者“+@”

//一般用于帐号(Email)

validator.entity.setRuleEmail("^(\\w|\\.|-|\\+)+@(\\w|-)+(\\.(\\w|-)+)+$")

贴上完整的邮箱验证代码:

/**

* 验证email规则

*

* @param email

* @return

*/

publicbooleanvalidateEmail(String email)

{

return TextUtils.isEmpty(email)? false

:email.matches(entity.ruleEmail)

}

1.PHP邮箱验证正则表达式:\x0d\x0apreg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i",$email)\x0d\x0a如果需要更加完善、严格的验证,修改这个正则表达式即可。\x0d\x0a\x0d\x0a2.PHP邮箱验证正则表达式实例:\x0d\x0a\x0d\x0a\x0d\x0a3.Javascript(js)邮箱验证正则表达式:\x0d\x0amyreg=/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,4}$/\x0d\x0a这个可以验证形如:[email protected],[email protected]这种邮箱\x0d\x0a\x0d\x0a4.Javascript(js)邮箱验证正则表达式实例:\x0d\x0a\x0d\x0afunctionisEmail(val){\x0d\x0avarmyreg=/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,4}$/\x0d\x0aif(!myreg.test(val))\x0d\x0areturn'不是邮箱'\x0d\x0areturn'是邮箱'\x0d\x0a}\x0d\x0aalert(isEmail('[email protected]'))\x0d\x0a