Sponsored By
















GUI창에서 돌아가게 하는 정규식(RegularExpression) 사용방법.

 

꼭 굳이 GUI로 안해도 되지만 만들어놓은 포맷이 있으니 GUI를 사용하겠다.

 

 

00. '^01[016789]-\\d{4}-\\d{4}' 

-> ^ ; 시작/ 01뒤에 016789만 올수있다/ int 타입 4개/ int 타입 4개







01. 0은 패턴에 맞지않는다.






02. 01 다음에 6789 만 와야하므로 패턴에 맞지 않다.






03. 맞는 패턴.!! 확인.!!

 

 

 

 

 

※. 코드

import java.awt.BorderLayout;

import java.awt.FlowLayout;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.regex.Pattern;

 

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.JTextField;

 

class MyFrame extends JFrame implements ActionListener{

private JPanel displayPanel; 

private JPanel inputPanel;

 

private JTextArea display;

private JTextField input;

 

public MyFrame()

{

this.setTitle("My GUI");

this.setSize(500, 400);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 

/*

 * panel 생성하고, 필요한 컴포넌트를 만들기

 */

 

displayPanel = new JPanel();

displayPanel.setLayout(new FlowLayout());

display = new JTextArea(11, 30);

Font displayFont = new Font("Serif", Font.BOLD, 20);

display.setFont(displayFont);

display.setEditable(false);

 

// textarea를 스크롤이 되도록 변경

JScrollPane scroll = new JScrollPane(display);

displayPanel.add(scroll);

 

inputPanel = new JPanel();

inputPanel.setLayout(new FlowLayout());

input = new JTextField(30);

Font inputFont = new Font("Serif", Font.BOLD, 20);

input.setFont(inputFont);

input.addActionListener(this);

 

inputPanel.add(input);

 

/*

 * Frame에 두개의 panel을 붙이기

 */

this.setLayout(new BorderLayout());

this.add(displayPanel, BorderLayout.CENTER);

this.add(inputPanel, BorderLayout.SOUTH);

 

 

this.setVisible(true);

}

 

@Override

public void actionPerformed(ActionEvent e) {

 

if(e.getSource() == input)

{

display.append( input.getText() + "\n");

 

String regex = "^01[016789]-\\d{4}-\\d{4}";  // \가 특수기호이므로 두번해줘야 정상작동 in JAVA

 

if (Pattern.matches(regex, input.getText()) == false)  // input에 있는 텍스트 값과 regex 값 비교

{

display.append("휴대전화 패턴이 잘못되었습니다."+"\n");

}else

{

display.append("OK Mobile Pattern" + "\n");

}

 

input.selectAll();

}

 

}// actionPerformed

 

}// MyFrame Class

 

 

public class Test3 {

 

public static void main(String[] args) {

 

MyFrame frame = new MyFrame();

}// main

 

}// Main Class

 

 

 



Sponsored By















+ Recent posts