一、邮箱格式需满足以下要求

1. 有且只有一个@
                        2. @不能放在开头,也不能放在结尾
                        3. @之后必须有.
                        4. @之前或之后不能紧跟.
                        5. @之前要有6个字符
                        6. 以com、org、cn、net结尾

二、代码实现

1. 实现代码

package homework3;
//邮箱检验是否合格
public class CheckEmail { public boolean isEmail(String email) {
//判断是否为空邮箱
int k = 0;
if(email == null) {
return false;
}
/*
* 单引号引的数据 是char类型的
双引号引的数据 是String类型的
单引号只能引一个字符
而双引号可以引0个及其以上*
*/ //判断是否有仅有一个@且不能在开头或结尾
if(email.indexOf("@") > 0 && email.indexOf('@') == email.lastIndexOf('@') && email.indexOf('@') < email.length()-1) {
k++;
} //判断"@"之后必须有"."且不能紧跟
if(email.indexOf('.',email.indexOf('@')) > email.indexOf('@')+1 ) {
k++;
}
//判断"@"之前或之后不能紧跟"."
if(email.indexOf('.') < email.indexOf('@')-1 || email.indexOf('.') > email.indexOf('@')+1 ) {
k++;
}
//@之前要有6个字符
if(email.indexOf('@') > 5 ) {
k++;
} if(email.endsWith("com") || email.endsWith("org") || email.endsWith("cn") ||email.endsWith("net")) {
k++;
}
if(k == 5) {
return true;
}
return false; }
}

2. 测试代码

package homework3;

import java.util.Scanner;

public class EmailTest {
public static void main(String[] args) {
do
{ Scanner sc = new Scanner(System.in);
System.out.println("请输入你的邮箱:");
String str = sc.nextLine(); //读取字符串型输入
CheckEmail email = new CheckEmail();
boolean result = email.isEmail(str);
if(result) {
System.out.println("邮箱地址合法");
}else {
System.out.println("邮箱地址不合法");
}
System.out.println(" ");
}
while(true);
}
}

3. 测试结果

三、总结

这是我在博客园上的第一篇文章,没有啥技术含量,但是却见证着我的学习与成长。
        本人Java小白一枚,正在努力追赶,希望有志同道合的小伙伴可以共勉,一起努力学习,一起进步。

非正则表达式检验邮箱格式是否合法(Java代码实现)的更多相关文章

  1. JS验证邮箱格式是否正确 实例代码

    如何用js验证邮箱格式是否正确?分享一个例子.代码: /* *验证邮箱格式是否正确 *参数strEmail,需要验证的邮箱 */ function chkEmail(strEmail) { if (! ...

  2. js正则表达式:验证邮箱格式、密码复杂度、手机号码、QQ号码

    直接上代码             Java   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...

  3. ORACLE中使用SQL的正则表达式判断邮箱格式

    在数据库中,有时需要判断字符串是否是一个或者多个邮箱格式,可以使用如下语句判断: ) FROM dual WHERE regexp_like(v_mail,'^\w+((-\w+)|(\.\w+))* ...

  4. Android 使用正则表达式验证邮箱格式是否正确

    /** * 验证邮箱格式是否正确 */ public boolean emailValidation(String email) { String regex = "\\w+([-+.]\\ ...

  5. jquery验证手机号码、邮箱格式是否正确示例代码

    本文为大家介绍下使用jquery验证邮箱.验证手机号码,具体实现思路及代码如下,感兴趣的朋友可以学习下 复制代码代码如下: //jquery验证邮箱  function checkSubmitEmai ...

  6. JS验证邮箱格式是否正确的代码

    验证邮箱格式是否正确的方法有很多,接下来为大家介绍下使用js是如何做到的 复制代码代码如下: /*  *验证邮箱格式是否正确  *参数strEmail,需要验证的邮箱  */ www.jbxue.co ...

  7. 推断一个java文件和邮箱格式是否合法

    import java.util.Scanner; public class StringTest { public static void main(String[] args) { int bac ...

  8. java 正则表达式验证邮箱格式是否合规 以及 正则表达式元字符

    package com.ykmimi.testtest; /** * 测试邮箱地址是否合规 * @author ukyor * */ public class EmailTest { public s ...

  9. [Swift通天遁地]七、数据与安全-(14)使用单元测试进行邮箱格式的验证

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

随机推荐

  1. Variant does not reference an auomation object

    今天两个用户突然报错. 应用场景:审核或撤审核 字面意思:变量无法映射到对象,应该是调用对象的时候找不到.会不会是杀毒软件删除掉了. 两个用户都用了瑞星杀毒,哥不是黑,确实.应该是审核元被删掉 了. ...

  2. 一个优化极点的ViewHolder

    代码中有注释: 使用方法: 1.可以在listview,gridview,stageView直接继承LazyAdapter使用 2.下面有Demo 代码 ViewHolder代码: import an ...

  3. EventBus 最简易的使用方式

    呃,要跟上时代的步伐,所以来学习一下EventBus(话说好像现在学也已经算是跟不上了..嘛..不管了,一步一步往前追,应该还来得及吧). 转载请注明出处:http://blog.csdn.net/w ...

  4. 关于oracle表名区分大小写的问题

    oracle不是区分大小写的,是建表的时候是没有去掉双引号.   CREATE TABLE TableName(id number); //虽然写的时候是有大写和小写,但是在数据库里面是不区分的.   ...

  5. my project 中git使用过程(基本操作流程)

    1.g  it clone git@name:server/BM/APPS.git 则BM_APPS.git项目被下载到当前目录下了,这时git@name:server/BM/APPS.git就是自己 ...

  6. 使用MD5加密的登陆demo

    最近接手了之前的一个项目,在看里面登陆模块的时候,遇到了一堆问题.现在记录下来. 这个登陆模块的逻辑是这样的 1 首先在登陆之前,调用后台的UserLoginAction类的getRandomKey方 ...

  7. SpriteBuilder中使用TrueType字体的一些障碍

    在实践中,有一些小的陷阱和障碍可能阻止你使用一般的TrueType字体. 第一个,必须要有一个有效的字体文件.在Finder中双击该.ttf文件,应该会打开Font Book app,显示一个象形符号 ...

  8. RabbitMQ 队列

    http://blog.chinaunix.net/uid/22312037/sid-163962-abstract-1.html http://bobo896.blog.163.com/blog/# ...

  9. PS图层混合算法之二(线性加深,线性减淡,变亮,变暗)

    线性加深模式: 查看每个通道的颜色信息,通过降低"亮度"使底色的颜色变暗来反映绘图色,和白色混合没变化. Linear Burn 线形加深 C=A+B-1 如果上下层的像素值之和小 ...

  10. windows linux—unix 跨平台通信集成控制系统

    首先,我们可以用到这个开源的开发包: mdk(Micro-Development-Kit)微量级软件开发包,提供几个常用类,主要实现了一个高性能的并发服务器引擎 使用c++开发,是一个跨平台的开发包, ...