Java教程:Java正则表达式验证电话号码
发布日期:2021-09-26 20:18:20
浏览次数:1
分类:技术文章
本文共 2029 字,大约阅读时间需要 6 分钟。
Java教程在注册会员时,经常需要输入电话号码,电话号码是指手机号码或者固定电话。如果输入的内容不合法,则会向用户输出提示。本实例模拟实现电话号码的验证功能,接收用户在控制台输入的电话号码,然后进行判断,并将结果输出。
本篇文章由 www.234yp.com 整理发布, 谢谢合作! 在这里使用《Java正则表达式》一节中讲到的正则表达式支持的字符来实现,步骤如下。 (1) 创建名为 Test21.java 的 Java 文件,在 main() 方法中开始编写代码。import java.util.Scanner;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Text21 { public static void main(String[] args) { //编写代码 }}
(2) 声明 String 类型的 regex 变量,它是用于验证电话号码的表达式。代码如下:
String regex = "0\\d{2,3}[-]?\\d{7,8}|0\\d{2,3}\\s?\\d{7,8}|13[0-9]\\d{8}|15[1089]\\d{8}";
电话号码包括固定电话和手机号码。其中固定电话是由区号和号码组成,区号是以 0 开头的,后面是 2~3 位数,因此在匹配区号的时候可以使用正则表达式0\d{2,3}
。固定电话号码由 7~8 位数字组成,因此可以使用表达式\d{7,8}
来进行匹配。固定电话的组合方式可能是“区号-号码”或者是“区号号码”,因此匹配固定电话号码时,可以使用“0\\d{2,3}[-]?\\d{7,8}|0\\d{2,3}\\s?\\d{7,8}”表达式。
String answer = "Y";
(4) 使用 do…while 语句进行操作,首先接收用户在控制台输入的电话号码,然后利用 Pattern 类进行编译,接着创建给定输入模式的匹配器,调用 matches() 方法返回匹配的结果。如果结果为 true 表示验证通过,如果为 false 表示验证失败。代码如下:
do { System.out.print("请留下您的电话号码:"); Scanner scan = new Scanner(System.in); String phone = scan.next(); // 接收用户在控制台输入的电话号码 Pattern pattern = Pattern.compile(regex); // 编译正则表达式 Matcher matcher = pattern.matcher(phone); // 创建给定输入模式的匹配器 boolean bool = matcher.matches(); if(bool) { // 如果验证通过 System.out.println("输入的电话号码格式正确。"); } else { System.out.println("输入的电话号码无效,格式不正确。"); } System.out.print("是否继续输入?(Y/N 或者 y/n)"); answer=scan.next();}while(answer.equalsIgnoreCase("Y"));System.out.println("注册结束。");
(5) 运行代码进行测试,如下所示:
请留下您的电话号码:18812345678输入的电话号码无效,格式不正确。是否继续输入?(Y/N 或者 y/n)y请留下您的电话号码:180112345678输入的电话号码无效,格式不正确。是否继续输入?(Y/N 或者 y/n)n注册结束。
请留下您的电话号码:010-12345678输入的电话号码格式正确。是否继续输入?(Y/N 或者 y/n)y请留下您的电话号码:010-123456789输入的电话号码无效,格式不正确。是否继续输入?(Y/N 或者 y/n)y请留下您的电话号码:0388-12345678输入的电话号码格式正确。是否继续输入?(Y/N 或者 y/n)n注册结束。关于更多Java教程内容,可以收藏本网页。泉州新闻网是泉州新闻地区唯一的新闻门户网站
转载地址:https://blog.csdn.net/dxxxxx178/article/details/112007058 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月21日 07时57分39秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基础架构系列篇-系统centos7安装kafka
2019-04-30
基础架构系列篇-系统centos7中docker安装分布式文件存储服务minio
2019-04-30
知识点记录-java判断系统是linux或windows
2019-04-30
知识点记录-springboot静态资源映射路径
2019-04-30
微服务springcloud2系列篇-配置与注册nacos组件
2019-04-30
用户权限设计-基于RBAC模型
2019-04-30
微服务springcloud2系列篇-网关GATEWAY跨域问题
2019-04-30
软件质量的8个特性
2019-04-30
应届渣渣前端的艰难求职之路
2019-04-30
2021年不可错过的17种JS优化技巧(一)
2019-04-30
月薪15~20k的前端面试问什么?
2019-04-30
在 Vue 中用 Axios 异步请求API
2019-04-30
mysql——介绍及安装与基本用法
2019-04-30
MYSQL——事务操作+视图+存储引擎
2019-04-30
MySQL进阶查询(SELECT 语句高级用法)
2019-04-30
Mysql 之主从复制
2019-04-30
【学习笔记】对vanilla的一些个人理解
2019-04-30
“学硕” VS “专硕”
2019-04-30
【NLP学习笔记】知识图谱阅读笔记及其心得
2019-04-30
【工具使用】新版CSDN-markdown编辑器使用指南
2019-04-30