zoukankan      html  css  js  c++  java
  • 验证IP地址的有效性

    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 CheckIPAddress extends JFrame {
        
        private JPanel contentPane;
        private JTextField ipField;
        
        /**
         * Launch the application.
         */
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        CheckIPAddress frame = new CheckIPAddress();
                        frame.setVisible(true);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
        
        /**
         * Create the frame.
         */
        public CheckIPAddress() {
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setBounds(100, 100, 280, 128);
            contentPane = new JPanel();
            contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
            setContentPane(contentPane);
            contentPane.setLayout(null);
            
            JLabel lblip = new JLabel("u8BF7u8F93u5165IPu5730u5740uFF1A");
            lblip.setBounds(12, 14, 92, 15);
            contentPane.add(lblip);
            
            ipField = new JTextField();
            ipField.setBounds(100, 10, 141, 25);
            contentPane.add(ipField);
            
            JButton button = new JButton("u9A8Cu8BC1");
            button.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    do_button_actionPerformed(e);
                }
            });
            button.setBounds(66, 57, 93, 23);
            contentPane.add(button);
        }
        
        protected void do_button_actionPerformed(ActionEvent e) {
            String text = ipField.getText();// 获取用户输入
            String info = matches(text);// 对输入文本进行IP验证
            JOptionPane.showMessageDialog(null, info);// 用对话框输出验证结果
        }
        
        /**
         * 验证ip是否合法
         * 
         * @param text
         *            ip地址
         * @return 验证信息
         */
        public String matches(String text) {
            if (text != null && !text.isEmpty()) {
                // 定义正则表达式
                String regex = "^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\."
                        + "(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\."
                        + "(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\."
                        + "(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$";
                // 判断ip地址是否与正则表达式匹配
                if (text.matches(regex)) {
                    // 返回判断信息
                    return text + "
    是一个合法的IP地址!";
                } else {
                    // 返回判断信息
                    return text + "
    不是一个合法的IP地址!";
                }
            }
            // 返回判断信息
            return "请输入要验证的IP地址!";
        }
    }

    关键:

      正则表达式的合理使用。

  • 相关阅读:
    Kmeans文本聚类系列(已经完成)
    提问的智慧
    公告:关于博客管理
    MSSQL语句备份
    贝叶斯分类专题
    利用Viterbi算法,二元词图分词系列
    从KL相对熵(relative entropy或 KullbackLeibler divergence,KL距离)看文本语义距离系列
    特征词选择算法对文本分类准确率的影响(五)
    新闻类网页正文提取系列
    特征词选择算法对文本分类准确率的影响(四)
  • 原文地址:https://www.cnblogs.com/mr-wuxiansheng/p/12259659.html
Copyright © 2011-2022 走看看