Java编写代码“邮箱格式”等进行验证。(假设邮箱以数字或是字母开头,必须包含@字符,并以.com结尾)

编程入门 行业动态 更新时间:2024-10-27 18:29:14
第一种方法

我最先想到了办法,这种方法就比较简单了,话不多说看代码

if(inputname.contains("@") && inputname.endsWith("") &&
				((inputname.charAt('0')>=0&&inputname.charAt(0)<='9')||
						(inputname.charAt(0)<='z'&&inputname.charAt(0)>='A'))){
			System.out.println("是emali格式");
		}else{
			System.out.println("格式错误!");

当时我犯了一个特别特别重要的错误,导致结果出错,因为是String型的,首字母也一定是字符型,我忘记了引号,导致代码一直出错,不加引号不会判断出首字母是数字!正确的应该是这个样子!!!

第二种方法

刚刚接触Java,面向对象的思想理解的不是很透彻,我也尽力再用这种思想写。

  • 判断首字母是用正则表达式进行的(小白的我查阅了很多资料)
  • 其他的就很简单啦,都是最简单的方法
package hrbxy.may11;

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class EmailName {

	public static String inputEmai;

	public static String getInputEmai() {
		return inputEmai;
	}

	public static void setInputEmai(String inputEmai) {
		EmailName.inputEmai = inputEmai;
	}
}

package hrbxy.may11;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

    public class EmailNameTest {

        //判断是否以数字或字母开头
        public static boolean isStartWithChar(String str){
            Pattern pattern = Pattern.compile("^[0-9a-zA-Z].*");
            Matcher isChar = pattern.matcher(str.charAt(0) + "");
            if (!((Matcher) isChar).matches()) {
                return false;
            } else {
                return true;
            }
        }

        //判断是否包含@
        public static boolean iscontain(String str){
            if(str.contains("@")){
                return true;
            }
            return false;
        }

        //判断是否以结尾
        public static boolean isEndWith(String str){
            if(str.endsWith("")){
                return true;
            }
            return false;
        }

}

package hrbxy.may11;

import java.util.Scanner;

public class EmailNameMain {
    /*对“邮箱格式”等进行验证。(假设邮箱以数字或是字母开头,必须包含@字符,并以结尾)*/
    public static void main(String[] args) {

        EmailNameTest test = new EmailNameTest();
        EmailName name = new EmailName();

        Scanner input = new Scanner(System.in);
        System.out.print("请输入邮箱号码:");
        String inputname = input.nextLine();
        name.setInputEmai(inputname);

        boolean isNumChar = test.isStartWithChar(name.getInputEmai());
        boolean iscontain = test.iscontain(name.getInputEmai());
        boolean isEndWith = test.isEndWith(name.getInputEmai());

        if(isNumChar&&iscontain&&isEndWith){
            System.out.println("Email格式正确");
        }else{
            System.out.println("格式错误!");
        }
    }
}
附加正则表达式(只是此问题用到的)
Pattern pattern = Pattern.compile(regex);     //创建一个Pattern对象
Matcher matcher = pattern.matcher(string);      //得到Matcher对象,通过find方法可以找到匹配对象,如果有匹配的部分返回真,使用m.group方法得到匹配的各组值,否则find方法返回false。
后知后觉

写文章是为了使自己更透彻的了解,希望看到的能给我提一些建议,让我能够写得更好

更多推荐

Java编写代码“邮箱格式”等进行验证。(假设邮箱以数字或是字母开头,必须包含@字符,并以.com结尾)

本文发布于:2023-06-14 03:18:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1432296.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:邮箱   并以   结尾   字母   开头

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!