验证非法电话号码
发布时间:2020-12-14 01:44:32 所属栏目:百科 来源:网络整理
导读:程序开发中经常需要用户输入用户信息或者联系方式,其中有一些数组的 格式是固定的 ,程序处理逻辑也是按照这个格式来实现的,但是由于用户输入的是字符串,其灵活性较大,容易输入格式错误的数据。 例如,用户联系信息的电话号码就是固定格式的数据。本实例
程序开发中经常需要用户输入用户信息或者联系方式,其中有一些数组的格式是固定的,程序处理逻辑也是按照这个格式来实现的,但是由于用户输入的是字符串,其灵活性较大,容易输入格式错误的数据。 例如,用户联系信息的电话号码就是固定格式的数据。本实例将演示如何利用正则表达式来确定电话号码格式是否匹配,实例结果下图所示。在程序中加入该模块可以禁止用户输入错误的电话号码。 设计过程: 1)在项目中添加窗体类CheckPhoneNum。在该窗体类中添加3个文本框,分别用于输入姓名、年龄与电话号码,然后再添加一个“验证”按钮。 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)); setContentPane(contentPane); contentPane.setLayout(null); JLabel lblip = new JLabel("u59D3u540DuFF1A"); 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("u9A8Cu8BC1"); 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("u7535u8BDDu53F7u7801uFF1A"); label.setBounds(10,87,60,15); contentPane.add(label); phoneNumField = new JTextField(); phoneNumField.setBounds(80,82,25); contentPane.add(phoneNumField); JLabel label_1 = new JLabel("u5E74u9F84uFF1A"); label_1.setBounds(10,50,15); contentPane.add(label_1); ageField = new JTextField(); ageField.setBounds(80,45,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不是一个合法的电话号码!"; } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |