首页 > 编程语言 >java使用正则表达式验证手机号和电话号码和邮箱号码的方法

java使用正则表达式验证手机号和电话号码和邮箱号码的方法

时间:2024-09-29 18:05:46浏览次数:6  
标签:regex java 手机号 验证 static 电话号码 邮箱 public String

验证手机号

我国的手机号一般是以1开头,后面跟着10位数字。因此,可以用如下正则表达式:

public static boolean isValidPhoneNumber(String phoneNumber) {
    String regex = "^1[3-9]\\d{9}$";  // 适用于中国手机号
    return phoneNumber.matches(regex);
}

验证电话号码

电话号码的格式可能会有所不同,通常包括区号和号码。可以用如下正则表达式(假设区号为3-4位,电话号码为7-8位):

public static boolean isValidTelephone(String telephone) {
    String regex = "^(\\d{3,4}-)?\\d{7,8}$";  // 区号可以选择性前缀,后面是电话号码
    return telephone.matches(regex);
}

验证邮箱地址

邮箱地址的基本格式通常是 用户名@域名,域名可以是多个部分:

public static boolean isValidEmail(String email) {
        String regex = "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}$";  // 邮箱格式
        return email.matches(regex);
    }

完整示例

下面是一个示例程序:

public class Validator {

    // 验证手机号
    public static boolean isValidPhoneNumber(String phoneNumber) {
        String regex = "^1[3-9]\\d{9}$";  // 我国手机号
        return phoneNumber.matches(regex);
    }

    // 验证电话号码
    public static boolean isValidTelephone(String telephone) {
        String regex = "^(\\d{3,4}-)?\\d{7,8}$";  // 区号可选,后面是电话号码
        return telephone.matches(regex);
    }

    // 验证邮箱地址
    public static boolean isValidEmail(String email) {
        String regex = "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}$";  // 邮箱格式
        return email.matches(regex);
    }

    public static void main(String[] args) {
        // 测试数据
        String mobile = "13812345678";
        String tel = "021-12345678";
        String email = "[email protected]";

        // 验证并输出结果
        System.out.println("手机号验证: " + isValidPhoneNumber(mobile));  
        System.out.println("电话号码验证: " + isValidTelephone(tel));     
        System.out.println("邮箱验证: " + isValidEmail(email));          
    }
}

运行结果:

标签:regex,java,手机号,验证,static,电话号码,邮箱,public,String
From: https://www.cnblogs.com/sunnyhengheng-cn/p/18440500

相关文章

  • JavaWeb之过滤器
    1.过滤器的概念过滤器是JavaServlet规范中定义的组件,用于在请求到达Servlet之前或响应返回客户端之前,对请求或响应进行拦截和处理。过滤器可以实现以下功能:日志记录:记录请求的详细信息,如URI、参数、时间等。身份验证和授权:检查用户是否已登录,是否有权限访问资源。输入输出......
  • 【JavaEE】——CAS指令和ABA问题
    阿华代码,不是逆风,就是我疯你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!!目录一:CAS指令1:概念2:伪代码例子说明3:优点二:原子类1:引入2:代码示例3:与volatile的区别4:标准库源码三:CAS是如何避免线程安全问题四:CAS中ABA问题1:引入2:极端情况3:解决方案......
  • Java Web开发:实际问题与解决方案
    引言在JavaWeb开发中,面对高并发、复杂业务逻辑和安全威胁等挑战,开发者需要灵活应对,找到有效的解决方案。本文将探讨一些实际开发中常见的问题,并结合最新技术提供切实可行的解决方案和示例代码。1.性能瓶颈1.1问题描述随着用户访问量的增长,应用的性能可能出现瓶颈,导致响......
  • JavaScript初学必备 之 初识ajax
    今日推荐歌曲:遇见一、ajax介绍1、学习前提需要有以下基础:HTML和CSS基础JavaScript基础2、什么是ajax?(1)、全称ajax===asyncJavascriptandxml(ajax===异步JavaScript和XML),ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。async:异步x......
  • java实现导出excel添加水印或excel转pdf并添加水印
    1.通过Map对象存入excel模板中获得excel表,并添加水印importorg.apache.poi.xssf.usermodel.XSSFWorkbook;publicstaticvoidexportExcelWatermark(TemplateExportParamstemplatePath,Map<String,Object>map,StringfileName,StringmarkText,HttpServletResponseres......
  • Java哈希表
    哈希主要用于快速查找、存储和比较数据。哈希的核心在于哈希函数(HashFunction),它将输入(通常称为键,key)映射到一个固定范围的输出值,这个输出值称为哈希值(HashValue)或哈希码。HashMapHashMap<Integer,String>hashmap=newHashMap<Integer,String>();增:hashmap.put(1,"......
  • java计算机毕业设计社区活动中心(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景:随着城市化进程的加速,社区作为城市生活的基本单元,其活力与凝聚力日益成为衡量城市宜居水平的重要指标。然而,传统社区管理模式下,居民间的互动不足、活......
  • 基于Java+Springboot+Vue开发的大学竞赛报名管理系统源码+开发文章1.3万字
    项目简介该项目是基于Java+Springboot+Vue开发的大学竞赛报名管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的大学竞赛报名管理系统项目,大学生可以在实践......
  • 基于Java的校园外卖系统设计与实现源码+两万字论文+答辩PPT+开题报告
    又快到了准备毕业设计的时候了,相信大部分宝子们还没有头绪吧。没有关系的,看完本文相信会让你受益匪浅。 一、项目介绍 本系统是面向所有人的外卖点餐系统。系统内的角色分为管理员和前台用户。管理员有权登录管理端进行如员工信息管理、分类、菜品与套餐管理、查看订单详......
  • Java毕业设计:基于Springboo咖啡厅座位预约网站毕业设计源代码作品和开题报告怎么写
     博主介绍:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。项目配有对应开发文档、开题报告、任务书、P......