国产日产欧产精品网站|2022仙踪林官网老狼信息|天天澡天天揉揉Av在线|国产精品成人久久久久久久

如何在 Java 中驗證電子郵件地址?

在本文中,我們將學習在Java編程語言中如何驗證電子郵件地址。我們將使用NetBeans IDE來編寫代碼并實現項目。

Java中的電子郵件驗證

電子郵件驗證是任何應用程序中注冊和登錄的重要且常見的部分。

電子郵件地址由三個部分組成:

  • 本地部分:電子郵件地址的本地部分就像用戶的名稱。
  • @符號:@符號是任何電子郵件地址的重要部分,如果沒有@符號,輸入的電子郵件地址將是無效的。
  • 域名:域名是一個標識符字符串,用于識別互聯網上的管理自治和權威域。在網絡上下文中,域名用于特定應用程序的命名和地址。

注意:如今,當用戶在Android或IOS中下載任何應用程序時,該應用程序需要注冊用戶名、電子郵件地址、密碼及其他一些用戶信息。當我們向應用程序提供這些信息時,如果用戶未提供所需的信息,則無法完成注冊。

例如,當我們在任何設備上下載Gmail應用程序時,如果我們有一個電子郵件ID,那么我們將該電子郵件ID提供給應用程序。應用程序將驗證該電子郵件地址。如果存在,該設備將詢問密碼,但如果我們的電子郵件地址不存在,將會向用戶顯示錯誤消息,指出電子郵件地址不正確,無法完成Gmail登錄。

讓我們看一個在Java編程中驗證電子郵件地址的示例。對于這個示例,我們將使用NetBeans IDE。

步驟1

首先,我們將在NetBeans IDE中創建一個名為“EmailValidation”的項目。讓我們開始示例。

Image1.PNG

解釋

當我們打開NetBeans IDE進行項目時,第一頁將如下所示。我們將單擊“下一步”按鈕。

步驟2

當我們單擊“下一步”按鈕時,接下來我們將提供項目名稱“EmailValidation”。

Image2.PNG

解釋

在上面的圖像中,我們創建了名為“MailValidation”的項目并單擊“完成”按鈕。

步驟3

現在在我們的項目中,我們將創建一個名為“EmailValidation.java”的主Java類文件。該文件的代碼如下所示。

import java.util.regex.Pattern;
public class EmailValidation {
    public static boolean isValid(String email) {
        String emailFormat = "^[a-zA-Z0-9_!#$%&'*+/=?`{|}~^-]+(?:\\\\."
                + "[a-zA-Z0-9_!#$%&'*+/=?`{|}~^-]+)*@[a-zA-Z0-9-]+(?:\\\\.[a-zA-Z0-9-]+)*$";
        Pattern p = Pattern.compile(emailFormat);
        if (email == null) {
            return false;
        }
        return p.matcher(email).matches();
    }
    public static void main(String[] args) {
        EmailGui frame = new EmailGui();
        frame.setVisible(true);
    }
}

解釋

在上述代碼示例中,首先我們創建一個名為“isValid”的方法。在該方法中,我們定義電子郵件地址的格式。然后創建Pattern類的對象以編譯電子郵件格式,并使用“if-else語句”判斷電子郵件是否為null,如果是,則輸出為null,但如果編譯器找到電子郵件。

步驟4

現在我們將為GUI(圖形用戶界面)創建一個JFrame表單,名為“EmailGui.java”。讓我們看一下我們項目的GUI設計。

Image3.PNG

解釋

在上面的GUI中,我們創建了一個“標簽”用于打印標題,第二個“標簽”用于打印提示用戶“輸入您的電子郵件”的消息,還有一個“文本框”用于用戶輸入電子郵件。在標簽下方,我們創建了一個名為“點擊”的按鈕,最后我們有一個“文本區域”。我們使用“拖放”技術創建了這個GUI表單。

步驟5

現在我們將更新GUI的編碼部分。該文件的代碼如下所示。

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author SYSADMIN
 */
public class EmailGui extends javax.swing.JFrame {
    /**
     * 創建新表單EmailGui
     */
    public EmailGui() {
        initComponents();
    }
    /**
     * 該方法在構造函數中調用以初始化表單。
     * 警告:請勿修改此代碼。該方法的內容始終
     * 由表單編輯器重新生成。
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {
        jScrollPane1 = new javax.swing.JScrollPane();
        jTextArea1 = new javax.swing.JTextArea();
        jScrollPane3 = new javax.swing.JScrollPane();
        jTextArea3 = new javax.swing.JTextArea();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        checkButton = new javax.swing.JButton();
        jScrollPane4 = new javax.swing.JScrollPane();
        finalResult = new javax.swing.JTextArea();
        inputEmail = new javax.swing.JTextField();
        jTextArea1.setColumns(20);
        jTextArea1.setRows(5);
        jScrollPane1.setViewportView(jTextArea1);
        jTextArea3.setColumns(20);
        jTextArea3.setRows(5);
        jScrollPane3.setViewportView(jTextArea3);
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jLabel1.setText("EmailValid");
        jLabel2.setText("輸入您的電子郵件");
        checkButton.setText("檢查");
        checkButton.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                checkButtonMouseClicked(evt);
            }
        });
        finalResult.setColumns(20);
        finalResult.setRows(5);
        jScrollPane4.setViewportView(finalResult);
        inputEmail.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                inputEmailActionPerformed(evt);
            }
        });
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(105, 105, 105)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(checkButton, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(104, 104, 104)
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(inputEmail, javax.swing.GroupLayout.PREFERRED_SIZE, 172, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(107, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(31, 31, 31)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(inputEmail, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(34, 34, 34)
                .addComponent(checkButton)
                .addGap(18, 18, 18)
                .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(42, Short.MAX_VALUE))
        );
        pack();
    }// </editor-fold>
    private void inputEmailActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
    }
    private void checkButtonMouseClicked(java.awt.event.MouseEvent evt) {
        String email = inputEmail.getText();
        if (EmailValidation.isValid(email)) {
            finalResult.setText(email + " 是有效的電子郵件地址。");
        } else {
            finalResult.setText(email + " 不是有效的電子郵件地址。");
        }
    }
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorials/swing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                javax.swing.UIManager.setLookAndFeel(info.getClassName());
                break;
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(EmailGui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(EmailGui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(EmailGui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(EmailGui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>
        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new EmailGui().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify
    private javax.swing.JButton checkButton;
    private javax.swing.JTextArea finalResult;
    private javax.swing.JTextField inputEmail;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JTextArea jTextArea1;
    private javax.swing.JTextArea jTextArea3;
    // End of variables declaration
}

解釋

在上述代碼中,首先我們創建一個名為“checkButtonMouseClicked”的方法,該方法將會在用戶單擊“檢查”按鈕時被調用。在該方法中,我們首先獲取輸入的電子郵件地址,然后使用“EmailValidation.isValid”方法檢查電子郵件地址的有效性,并根據結果在“finalResult”文本區域中輸出相應的信息。

步驟6

完成代碼后,我們將右鍵單擊項目并選擇“運行”選項。運行后,結果如下所示:

Image4.PNG

解釋  


在上面的圖片中,當我們運行項目時,應用程序將在屏幕上打開,樣子如下。現在我們需要在這里輸入電子郵件地址。輸入電子郵件地址后,我們將點擊按鈕。結果將顯示在按鈕下方的文本框中。

Image5.PNG

解釋  


在上面的圖片中,我們輸入了一個不符合電子郵件格式的地址,因此當我們點擊檢查按鈕時,消息 \"電子郵件無效\" 將被打印到文本框中。

Image6.PNG

解釋  


在上面的圖片中,我們看到輸入了一個符合電子郵件格式的地址。因此,當我們點擊按鈕時,消息 \"電子郵件有效\" 將顯示在文本框中。

注意:要運行此項目,您需要下載 NetBeans IDE。  

總結

在本文中,我們學習了如何在Java編程語言中使用正則表達式驗證電子郵件地址。我們還創建了一個簡單的GUI程序,允許用戶輸入電子郵件地址并驗證其有效性。希望這篇文章對您有所幫助!

 

若你想提升Java技能,可關注我們的Java培訓課程。

万源市| 宾川县| 博客| 信阳市| 安平县| 辽源市| 错那县| 陕西省| 绵竹市| 云浮市| 南通市| 仙居县| 象山县| 黄龙县| 天门市| 沙河市| 壤塘县| 鄂托克前旗| 谷城县| 嵊泗县| 平昌县| 高雄市| 库伦旗| 高淳县| 咸宁市| 商丘市| 静宁县| 乳源| 读书| 静海县| 大名县| 屯门区| 靖远县| 方山县| 屏边| 洱源县| 南丹县| 眉山市| 宁津县| 大邑县| 交口县|