정규표현식- 숫자 검증

Question :

고객번호를 넣어서 검색하는 프로그램을 짜고 있는데
번호를 입력하는 칸에 이름, 영문과 같은 문자열이 입력됐을 때는
숫자를 입력해달라고 하는 에러메시지가 나오게 하고 싶습니다.
어떤 함수를 써야하나요? ㅠㅜ

 

Answer:

숫자만 검증하는 부분에서 유용하게 사용할 수 있는게 정규식입니다.
정규식은 대문자, 소문자, 숫자, 문자패턴등을 효율적으로 판별할 수 있도록 합니다.
질문자님의 의도대로 숫자가 아닌 문자가 입력되면 오류 메시지를 출력하는 부분은
정규식을 숫자로 검색해서 일치가 안되면 오류 메시지를 출력하면 됩니다.
1. Pattern pattern = Pattern.compile(“[\\d]*”); // 숫자만 포함하는 패턴
2. boolean match = pattern.matcher(str).matches(); // 일치하면 숫자 아니면 문자가 포함된 경우 입니다.

package naverkin;

 

import java.util.Scanner;

import java.util.regex.Pattern;

 

public class ValidateNumber {

    public static void main(String[] args) {

        // 간단하게 예를 들어 입력하는 하는 로직을 넣겠습니다.

        Scanner scanner = new Scanner(System.in);

        // 숫자를 구별하는 정규 표현식

        Pattern pattern = Pattern.compile("[\\d]*");

        while(true) {

            // 사원 번호를 입력받습니다.

            System.out.print("사원번호: ");

            String str = scanner.next();

            // 입력된 글자중 숫자가 아닌 글자가 있으면 false 가 리턴 됩니다.

            boolean match = pattern.matcher(str).matches();

            if(match) {

                System.out.println("올바른 사원 번호 입니다.");

                break;

            } else {

                System.out.println("잘못된 사원 번호 입니다. 다시 입력해주세요.");

            }

            

        }

    }

}

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s