运行效果图:
主窗体
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);
setTitle("鉴别非法电话号码");
JLabel lblip = new JLabel("姓名:");
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("查询");
//、查询按钮要进行真伪查询,需要先获取电话号码信息,添加监听器
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("电话号码:");
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("年龄:");
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验证
//、第一个参数为null的是弹出对话框在屏幕中央显示,第二个参数为弹出的信息
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}$";
//、根据实际电话号码规则进行规则编写
String regex = "^1[3|4|5|7|8][0-9]\\d{8}$|^0\\d{6}";
// 、判断输入数据是否为电话号码
if(text.matches(regex)){
return text + "\n是一个合法的电话号码!";
}else{
return text + "\n不是一个合法的电话号码!";
}
}
}