자바 프로젝트 SMS 입력제한(문자, 숫자) 정규표현식 코드

쪼레비·2021년 4월 15일
0
package GUI;

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.regex.Pattern;

import javax.swing.JOptionPane;


public class InputTypeControl implements KeyListener{
	
	public void inputTypeCheck(String typeName, KeyEvent e){
		if(typeName == "String"){
			String check_str = String.valueOf(e.getKeyChar());
			boolean nameCheck = Pattern.matches("^[가-힣|ㄱ-ㅎ|ㅏ-ㅣ|a-zA-Z\\s]*$", check_str);
			if(nameCheck == true){
				
			}
			else{
				JOptionPane.showMessageDialog(null, "문자만 입력해주세요");
				e.consume();
				return;
			}
		}
		
		else if(typeName == "Int"){
			char keychar = e.getKeyChar();
			String check_str = String.valueOf(e.getKeyChar());
			
			boolean nameCheck = Pattern.matches("^[0123456789|\b|\\s|-]*$", check_str);
			if(nameCheck == true){
				
			}
			else{
				JOptionPane.showMessageDialog(null, "숫자만 입력해주세요");
				e.consume();
				return;
			}
			
			/*
			if(!Character.isDigit(keychar) 
					&& !check_str.equals("") 
					&& !check_str.equals("-")
					&& !check_str.equals("\\s")){
				JOptionPane.showMessageDialog(null, "숫자만 입력해주세요");
				e.consume();
				return;
			}
			*/
		}
	}
	
	@Override
	public void keyPressed(KeyEvent e) {
		
	}

	@Override
	public void keyReleased(KeyEvent e) {
		
	}

	@Override
	public void keyTyped(KeyEvent e) {
		
	}
}
profile
잠팅이

0개의 댓글