2016-10-19 37 views
0

我有一個接受IP地址的JTextField和一個使用Email接收用戶名的JTextField。我點擊提交後如何閱讀JTextField,並告訴我它是否是showMessageDialog中的正確格式?正則表達式Java

public static boolean isValidIP(String iField) 
{ 
    return iField.matches("^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$");  
} 
public static boolean isValidUser(String uField) 
{ 
    return uField.matches("^[_A-Za-z0-9-\\\\+]+(\\\\.[_A-Za-z0-9-]+)*\n" + 
    "@[A-Za-z0-9-]+(\\\\.[A-Za-z0-9]+)*(\\\\.[A-Za-z]{2,})$"); 
} 

sButton.addActionListener(new ActionListener() 
    { 
     public void actionPerformed(ActionEvent ae) 
     { 

      iField.getText(); 
      uField.getText(); 

     } 
    }); 
+2

[IP地址確認](https://www.google.com/search?q=site%3Astackoverflow.com+java&oq=site&sourceid=chrome&ie=UTF- 8#q = site:stackoverflow.com + java + validate + ip + address + string)和[電子郵件地址驗證](https://www.google.com/search?q=site%3Astackoverflow.com+java&oq=site&sourceid =鉻&即= UTF-8#q =站點:stackoverflow.com +的java +驗證+電子郵件+地址+字符串)。在問之前,您是否先搜索這個問題? –

+0

@HovercraftFullOfEels是的,但我不知道如何閱讀它,當我點擊提交按鈕..我找不到如何做到這一點。 –

+0

你應該使用Pattern.compile(「anyregex」),而不是每次使用String.matches動態編譯正則表達式(「anyregex) – Paulo

回答

2

試試這個:

sButton.addActionListener(new ActionListener() 
{ 
    public void actionPerformed(ActionEvent ae) 
    { 

     String ip = iField.getText(); 
     String uf = uField.getText(); 
     //pass it through the method to validate it 
     if(isValidUser(uf)) 
     JOptionPane.showMessageDialog(yourFrameName, "your message."); 
     if(isValidIP(ip)) 
     JOptionPane.showMessageDialog(yourFrameName, "your message."); 

    } 
}); 
+0

完美!你真棒! –