java邮箱判断合法正则表达式(JAVA中,用正则表达式识别邮箱是否正确)

:暂无数据 2026-09-23 22:30:02 :0

java邮箱判断合法正则表达式(JAVA中,用正则表达式识别邮箱是否正确)

这篇文章给大家聊聊关于java邮箱判断合法正则表达式,以及JAVA中,用正则表达式识别邮箱是否正确对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

本文目录

JAVA中,用正则表达式识别邮箱是否正确

String regex=“[a-zA-Z0-9_\\-\\.]+@[a-zA-Z0-9]+(\\.(com|cn|org|edu|hk))“;
如果让他识别sina、qq、163的邮箱,则
String regex=“[a-zA-Z0-9_\\-\\.]+@(sina|qq|163)+(\\.(com|cn|org|edu|hk))“;

如何用java检验电子邮箱格式的合法性要用到String的方法来判断

自己写逻辑验证的方式可以做到。我写了下面的:

public static boolean validateEmail(String email) {
boolean flag = false;
int pos = email.indexOf(“@“);
if (pos == -1 || pos == 0 || pos == email.length() - 1) {
return false;
}
String strings = email.split(“@“);
if (strings.length != 2) {// 如果邮箱不是xxx@xxx格式
return false;
}
CharSequence cs = strings;
for (int i = 0; i 《 cs.length(); i++) {
char c = cs.charAt(i);
if (!Character.isLetter(c) && !Character.isDigit(c)) {
return false;
}
}
pos = strings.indexOf(“.“);// 如果@后面没有.,则是错误的邮箱。
if (pos == -1 || pos == 0 || pos == email.length() - 1) {
return false;
}
strings = strings.split(“.“);
for (int j = 0; j 《 strings.length; j++) {
cs = strings[j];
if (cs.length() == 0) {
return false;
}
for (int i = 0; i 《 cs.length(); i++) {//如果保护不规则的字符,表示错误
char c = cs.charAt(i);
if (!Character.isLetter(c) && !Character.isDigit(c)) {
return false;
}
}

}
return true;
}

这个效率也不会差很多,不过我推荐matches方法,经过测试的,matches匹配方式运行10000次的时间比上面的时间少了20毫秒。

java 中如何判断邮件格式的正确性

如果是服务器后台代码的话呢,可以用正则表达式比如
String RULE_EMAIL = “^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$“;
前台页面的话呢,某些前端框架都是有写好邮箱的输入框的

java中应用正则表达式判断邮箱格式,如果用户输入格式错误,提醒用户重新输入若输入正确,直接执行

Pattern p = Pattern.compile(“a*b“);
Matcher m = p.matcher(“aaaaab“);
boolean b = m.matches();
这是调用顺序 第一行括号里面是正则表达式。至于正则表达式怎么写 ,你直接百度就好了 有规则的 还有很多别人写好的。最后一行如果是true就代表匹配成功

怎么用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.next();

//@出现的下标
int atIndex = 0;
//.出现的下标
int fullIndex = 0;

//第一次出现的下标
atIndex = mail.indexOf(’@’, 0);
//第一次出现的下标
fullIndex = mail.indexOf(’.’, 0);
//判断@是否出现.后面
if(atIndex 》= fullIndex) {
       System.out.println(“此邮箱不合法!“);
System.exit(0);
}
//判断@是否只有一个
if(mail.indexOf(’@’, 0) != mail.lastIndexOf(’@’)) {
System.out.println(“此邮箱不合法!“);
System.exit(0);
}
//判断.是否只有一个
if(mail.indexOf(’.’, 0) != mail.lastIndexOf(’.’)) {
System.out.println(“此邮箱不合法!“);
System.exit(0);
}
//判断@前面是否是1到40个字符
if(!(atIndex 》= 1 && atIndex 《= 40)) {
System.out.println(“此邮箱不合法!“);
System.exit(0);
}
//判断@前面是否为字母
for (int i = 0; i 《 atIndex; i++) {
if (!((mail.charAt(i) 》= ’a’ && mail.charAt(i) 《= ’z’)||(mail.charAt(i) 》= ’A’ && mail.charAt(i) 《= ’Z’))) {
System.out.println(“此邮箱不合法!“);
System.exit(0);
}
}
//判断@到.是否为只能是1到40个字符
if(!(fullIndex - atIndex - 1 》= 1 && fullIndex - atIndex - 1 《= 40)) {
    System.out.println(“此邮箱不合法!“);
    System.exit(0);
}
//判断@到.直接的是否为字母或数字
for (int i = atIndex+1; i 《 fullIndex; i++) {
if (!((mail.charAt(i) 》= ’a’ && mail.charAt(i) 《= ’z’)||(mail.charAt(i) 》= ’A’ && mail.charAt(i) 《= ’Z’)||(mail.charAt(i)》=’0’&&mail.charAt(i)《=’9’))) {
System.out.println(“此邮箱不合法!“);
System.exit(0);
}
}

//判断.后面的是2到3长度的字符
if (!(mail.length() - fullIndex - 1 》= 2 && mail.length() - fullIndex -1 《= 3) ){
System.out.println(“此邮箱不合法!“);
System.exit(0);
}
//判断.后面的是英文字母
for (int i = fullIndex+1; i 《 mail.length(); i++) {
if (!((mail.charAt(i) 》= ’a’ && mail.charAt(i) 《= ’z’)||(mail.charAt(i) 》= ’A’ && mail.charAt(i) 《= ’Z’))) {
System.out.println(“此邮箱不合法!“);
System.exit(0);
}
}
System.out.println(“此邮箱是合法的!“);

}

}

java正则表达式怎么书写

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

下面介绍具体的方法。

1、步骤一  : 新建一个工程和类

我们在这个类中开发相关的代码,先看看 java.util.regex 这个包吧。

2、步骤二 : 类 Pattern 的使用

类Pattern , 其一个对象就代表一种指定的正则表达式,我们通过这个类和一些正则表达式的规则来生成自己想要的字符串匹配规则!

这个类,你无法通过 new 来创建对象,其提供了一个静态方法 compile(“正则规则串“)来创建对象, 比如我们想要一个以 “java“ 开头的字符串匹配规则,我们会用如下代码 Pattern 对象 : 

Pattern pattern = Pattern.compile(“^java“);

注意 : ^ 这个符号是正则表达式中的规则,表示字符串的开头!关于其他规则,我们后面会有相关经验给大家逐一介绍!

3、步骤三 : 类 Matcher 的使用

类 Matcher, 代表一个串在特定Pattern对象下的匹配结果,我们通过这个结果可以知道这个串是否符合我们的要求 (我们的具体要求在 Pattern 对象中体现!)。使用方法为 : 

// 先构建一个特定的 Pattern 对象
Pattern pattern = Pattern.compile(“^java“); 
// 调用 Pattern 对象的 matcher 方法,传入一个串,得到匹配结果!
Matcher matcher = javaPrefixPattern.matcher(“一个字符串“);

4、步骤四 : 测试和总结

运行代码,查看程序运行效果!正则表达式的整个使用框架就是这样,其不同的应用场景基本就是不同的匹配规则!

总结 :正则表达式的彪悍,主要在于其很多成熟的规范的语义规则,通过这些规则的灵活使用,我们可以把一种复杂的匹配需求用一个规则串表达出来!

用正则表达式,验证是否为合法Email,正常输出不合法当做异常处理

String webPage=“anningkf@163.com“;
String regex=“^\\w+(\\.|\\w+)*\\w+(\\.\\w+)*@\\w+\\w+\\.\\w+$“
Pattern pa=Pattern.compile(regex);
Matcher ma=pa.matcher(webPage);
if(ma.find){
这个webPage是正确的邮箱地址
}else{
这个webPage是错误的邮箱格式
}

下面是参考资料。正则我改了下,下面的条件都符合了。嘿嘿。加油~~
====================================
合法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 :与任何单词字符匹配,包括下划线。
$ :匹配输入的结尾。

如果你还想了解更多这方面的信息,记得收藏关注本站。

java邮箱判断合法正则表达式(JAVA中,用正则表达式识别邮箱是否正确)

本文编辑:admin

更多文章:


协方差计算公式(协方差的计算公式)

协方差计算公式(协方差的计算公式)

这篇文章给大家聊聊关于协方差计算公式,以及协方差的计算公式对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 08:10

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

本篇文章给大家谈谈易语言网页api接口怎么调用,以及易语言,怎么读取网页json的api对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月11日 08:00

majority of(the majority of 和 a majority of的区别以及用法例句)

majority of(the majority of 和 a majority of的区别以及用法例句)

这篇文章给大家聊聊关于majority of,以及the majority of 和 a majority of的区别以及用法例句对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 07:40

汉字机内码查询表(1个汉字的机内码是几位谢谢)

汉字机内码查询表(1个汉字的机内码是几位谢谢)

大家好,关于汉字机内码查询表很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于1个汉字的机内码是几位谢谢的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月11日 07:20

promote翻译(英语翻译倡导怎么说)

promote翻译(英语翻译倡导怎么说)

其实promote翻译的问题并不复杂,但是又很多的朋友都不太了解英语翻译倡导怎么说,因此呢,今天小编就来为大家分享promote翻译的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 06:30

用手机如何导航?开车用手机导航哪个软件最好

用手机如何导航?开车用手机导航哪个软件最好

今天给各位分享用手机如何导航的知识,其中也会对用手机如何导航进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 06:20

多线程技术有什么用(多线程有什么作用)

多线程技术有什么用(多线程有什么作用)

其实多线程技术有什么用的问题并不复杂,但是又很多的朋友都不太了解多线程有什么作用,因此呢,今天小编就来为大家分享多线程技术有什么用的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 05:40

another time(another time和other time的区别)

another time(another time和other time的区别)

大家好,another time相信很多的网友都不是很明白,包括another time和other time的区别也是一样,不过没有关系,接下来就来为大家分享关于another time和another time和other time的区

2026年10月11日 05:00

java开发工具包jdk(JDK是什么意思)

java开发工具包jdk(JDK是什么意思)

其实java开发工具包jdk的问题并不复杂,但是又很多的朋友都不太了解JDK是什么意思,因此呢,今天小编就来为大家分享java开发工具包jdk的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 04:50

mysql 命令(MySQL的基本命令)

mysql 命令(MySQL的基本命令)

大家好,如果您还对mysql 命令不太了解,没有关系,今天就由本站为大家分享mysql 命令的知识,包括MySQL的基本命令的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 03:00

最近更新

majority of(the majority of 和 a majority of的区别以及用法例句)
2026-10-11 07:40:02 浏览:0
热门文章

标签列表