정규표현식- 숫자 검증

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("잘못된 사원 번호 입니다. 다시 입력해주세요.");

            }

            

        }

    }

}

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중