java中编写一个邮箱格式,怎么编写

2024-12-18 22:25:42
推荐回答(2个)
回答1:

合法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 :与任何单词字符匹配,包括下划线。
$ :匹配输入的结尾。

回答2:

//不清楚您的具体需求是什么,我现在就暂且理解为:校验邮箱格式吧

/**
 * 2016年5月16日下午7:17:45
 * 
 * @author 3306 TODO 使用正则校验邮箱格式
 *
 */
public class EmailRegex {
    /*
     * 校验邮箱正则表达式:邮箱由数字或字母组成,结尾为com或者cn
     */
    private static String regex = "[0-9a-zA-Z]{1,}@[0-9a-zA-Z]{1,}\\.(com|cn)";

    public static boolean isRightSytax(String email) {
        if (null == email) {
            return false;
        }
        return email.matches(regex);
    }

    public static void main(String[] args) {

        String email = "93427295@qq.com";

        System.out.println(isRightSytax(email));
    }

}