2016-10-19 8 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)と[EMail address validation](https://www.google.com/search?q=site%3Astackoverflow.com+java&oq=site&sourceid =クロム&ie = UTF-8#q =サイト:stackoverflow.com + java +検証+電子メール+アドレス+文字列)。質問する前にこの問題を最初に検索しましたか? –

+0

@HovercraftFullOfEelsはい、送信ボタンをクリックしたときに読む方法がわかりません。その方法を見つけることができません。 –

+0

String.matches( "anyregex")を使用するたびに正規表現を動的にコンパイルするのではなく、Pattern.compile( "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

完璧!あなたは素晴らしいです! –