验证非法电话号码

      程序开发中经常需要用户输入用户信息或者联系方式,其中有一些数组的格式是固定的,程序处理逻辑也是按照这个格式来实现的,但是由于用户输入的是字符串,其灵活性较大,容易输入格式错误的数据。

      例如,用户联系信息的电话号码就是固定格式的数据。本实例将演示如何利用正则表达式来确定电话号码格式是否匹配,实例结果下图所示。在程序中加入该模块可以禁止用户输入错误的电话号码。

设计过程:

    1)在项目中添加窗体类CheckPhoneNum。在该窗体类中添加3个文本框,分别用于输入姓名、年龄与电话号码,然后再添加一个“验证”按钮。
    2)编写“验证”按钮的事件处理方法,该方法获取用户在文本框中输入的电话号码字符串,然后调用方法check()进行验证,并使用对话框输出验证结果。关键代码如下:

  protected void do_button_actionPerformed(ActionEvent e) {
String text = phoneNumField.getText();// 获取用户输入
String info = check(text);// 对输入文本进行IP验证
JOptionPane.showMessageDialog(null, info);// 用对话框输出验证结果
}
    3)编写check()方法,该方法用于验证指定的字符串与正确的电话号码格式是否匹配。首先判断字符串是否为空,然后再通过正则表达式对字符串进行验证,并将验证结果作为方法的返回值。关键代码如下:
 
  private String check(String text) {
if(text == null || text.isEmpty()){
return "请输入电话号码!";
}
//定义正则表达式,前3后8,或者前4后8
//例如“027-16816816、0431-12312345”都是合法的电话号码
String regex = "^\\d{3}-?\\d{8}|\\d{4}-?\\d{8}$";
//判断是否为电话号码
if(text.matches(regex)){
return text+"\n是一个合法的电话号码。";
}else{
return text+"\n不是一个合法的电话号码!";
}
}

 

完整代码如下:

package com.lzw;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
public class CheckPhoneNum extends JFrame {
private JPanel contentPane;
private JTextField nameField;
private JTextField phoneNumField;
private JTextField ageField;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
CheckPhoneNum frame = new CheckPhoneNum();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public CheckPhoneNum() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 260, 190);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel lblip = new JLabel("\u59D3\u540D\uFF1A");
lblip.setBounds(10, 15, 122, 15);
contentPane.add(lblip);
nameField = new JTextField();
nameField.setBounds(80, 10, 141, 25);
contentPane.add(nameField);
JButton button = new JButton("\u9A8C\u8BC1");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
do_button_actionPerformed(e);
}
});
button.setBounds(90, 119, 93, 23);
contentPane.add(button);
JLabel label = new JLabel("\u7535\u8BDD\u53F7\u7801\uFF1A");
label.setBounds(10, 87, 60, 15);
contentPane.add(label);
phoneNumField = new JTextField();
phoneNumField.setBounds(80, 82, 141, 25);
contentPane.add(phoneNumField);
JLabel label_1 = new JLabel("\u5E74\u9F84\uFF1A");
label_1.setBounds(10, 50, 122, 15);
contentPane.add(label_1);
ageField = new JTextField();
ageField.setBounds(80, 45, 141, 25);
contentPane.add(ageField);
}
protected void do_button_actionPerformed(ActionEvent e) {
String text = phoneNumField.getText();// 获取用户输入
String info = check(text);// 对输入文本进行IP验证
JOptionPane.showMessageDialog(null, info);// 用对话框输出验证结果
}
public String check(String text){
if(text == null || text.isEmpty()){
return "请输入电话号码!";
}
// 定义正则表达式
String regex = "^\\d{3}-?\\d{8}|\\d{4}-?\\d{8}$";
// 判断输入数据是否为电话号码
if(text.matches(regex)){
return text + "\n是一个合法的电话号码!";
}else{
return text + "\n不是一个合法的电话号码!";
}
}
}





 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/57287.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搞懂 API,调用 API 接口通常有这些技巧

其实没什么技巧,无他,唯熟悉API 原理(dog.jpg)。 不过对于新人来说,掌握这些基础知识还是很有必要的: 1.了解API的功能和用法:在使用API之前,您应该了解API的功能和使用方式。这将有…

如何解决Ganache界面一直转圈的问题

Ganache打不开的解决办法,针对Windows用户 Tip1Tip2 Tip1 不要直接从官网上下载,因为默认下载的是.appx文件,这样即使解压了也没有安装选项,打开ganache.exe后点击quickstart,会一直转圈进不去。(我的就是…

第一款交互式电子游戏 | 历史上的今天

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 4 月 18 日,在 1955 年的今天,著名物理学家爱因斯坦在美国新泽西州的普林斯顿逝世。爱因斯坦于 1905 年获得物理学博士学位,…

【人工智能】AI Code:当你还在谈论人工智能是否取代“程序员”的时候—— 懂 AI 的程序员,已经悄悄 ……

禅与计算机程序设计艺术出品的:Goland AI Code 开发插件: AIXCodeCompletionHelper 目录

chatgpt赋能python:Python绕过付费的SEO技巧

Python绕过付费的SEO技巧 随着网站流量成为企业重要的市场指标,SEO(搜索引擎优化)也成为了网站的重要一环。许多企业为了获取更多的流量,选择通过付费方式在搜索引擎中获得更高的曝光率。但是,对于那些没有足够预算的…

小红书内容种草推广2大玩法攻略_云媒易

随着电商时代的到来,各大品牌在做互联网营销时都热衷于种草营销,也就是我们经常用到的小红书种草推广。一次好的内容种草营销,不仅商家能够获利,还带动短视频平台、kol达人等实现共赢的局面。但是,内容种草做起来并不是…

小红书【服饰穿搭】有多火?2022年种草笔记超125万

导语 为了更好的满足各行业类目下品牌和博主对小红书内容创作的不同需求,千瓜全新推出《小红书爆文内容创作方向专栏》,为大家针对性提供小红书种草趋势洞察和灵感来源。 小红书【服饰穿搭】有多火?通过聚合2022年1月1日-2月28日两个月期间…

种草升级!小红书品牌营销新启示

2023年2月,小红书WILL商业大会提出了“产品种草"概念,产品如何扎根成长?怎样深度内容种草?如何连接消费者协同并进? 本期将与您分享千瓜营销观点,望与品牌携手在风云变幻中找寻可把握的光点&#xff0…

2300万,35岁腾讯员工准备提前退休了

最近在看帖子的时候发现一个吸引我的消息。 一腾讯员工说自己已经准备好35岁提前退休了.... 我超级好奇,他退休后咋生活呀。 我仔细一看帖子,发现,原来人家已经攒够1千万的房产,加上1千万的腾讯股票,还有300百万的应急…

和金融男谈恋爱 vs 和程序员谈恋爱

在北上广深,很多有点姿色的女生,到了婚龄都会思考一个灵魂问题—— 金融男和程序员,该如何选择? 这两种男生,在大城市的相亲市场上都是香饽饽,他们一般都是高学历高收入,但是又差别很大。 过去两…

chatgpt赋能python:Python调整优化白色SEO的实用技巧

Python调整优化白色SEO的实用技巧 众所周知,SEO(Search Engine Optimization)是网站排名的重要指标之一,而白色SEO更是一种被广泛提倡的合法优化方式。在使用Python进行网站优化时,如何调整白色SEO成为了开发者们需要…

chatgpt赋能python:用Python黑网站的SEO指南

用Python黑网站的SEO指南 介绍 黑帽SEO一直是互联网行业中的争议话题之一。虽然违法,却难以避免。在黑帽SEO的各种技巧中,使用Python对网站进行黑帽SEO操作的技巧也广受关注。这篇文章将向大家介绍如何使用Python黑网站。 Python和黑帽SEO的关系 Pyt…

chatgpt赋能python:Python黑网站的SEO优化

Python黑网站的SEO优化 随着互联网的发展,黑网站的数量也在飞速增加,其中Python黑网站也越来越多。但是,这些黑网站如何在搜索引擎中排名靠前呢?本文将介绍Python黑网站的SEO优化方法和注意事项,帮助黑客们在网络上获…

chatgpt赋能python:让Python一直执行的技巧

让Python一直执行的技巧 Python是一种高级编程语言,在机器学习、自然语言处理、Web开发、数据分析等领域得到广泛应用。但在实践过程中,我们经常需要让Python程序一直运行,例如爬虫、监控、实时处理等场景。然而Python本身并没有提供长时间运…

Auto-GPT程序流程图

Auto-GPT程序流程图 Auto-GPT介绍 https://github.com/Significant-Gravitas/Auto-GPT Auto-GPT是一个实验性的开源应用程序,展示了GPT-4语言模型的能力。这个程序由GPT-4驱动,将LLM“思想”链接在一起,以自主地实现您设置的任何目标。作…

ChatGPT常用指令大全,存下吧!很难找全的!

1️⃣通用指令:请问你对于 XX方面的看法是什么? 这个问题非常通用,可以用来询问关于你所研究的任何主题的gpt 观点。 2️⃣通用指令:你能否给我一些建议,帮助我更好地理解xx? 如果你正在研究一个复杂的概…

《GPT-4技术报告》【中文版、英文版下载】

大预言模型时代已经到来,但是真正的智能之路还很长。 一、以下是连接,大家请自取。 英文原版:https://arxiv.org/pdf/2303.08774.pdfhttps://arxiv.org/pdf/2303.08774.pdf 中文翻译版本: 人工通用智能的星星之火:GPT-4 的早期…

58 全员信:年内不能实现盈利的业务,一定不留!

上一篇:35 岁女开发,周一公司祝我入职 6 周年快乐,周四就裁员,只字不提赔偿! 继华为任正非的内部信“把活下来作为最主要纲领,边缘业务全线收缩和关闭,把寒气传递给每个人”后,又一大…

国内 WhatsApp 能用吗?WhatsApp对外贸企业的重要性?

国内WhatsApp能用吗? WhatsApp 在国内是不能用的,自2017年6月以来一直受到审查。 这意味着,如果您在中国境内打开手机上的 WhatsApp,无论您使用的是网络连接还是 Wi-Fi 连接,该应用程序都无法运行。它会尝试连接&…

《2023中国开发者调查报告》探索2023中国开发者的技术创新与挑战:AIoT、云原生、国产数据库等领域的发展与前景

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…