안녕하세요. IT김군입니다.


저번 휴대전화번호 정규식 / 체크디지트에 이어 차량번호 정규식 / 체크디지트를 가볍게 만들어 봤습니다.


C# / .NET은 구글링을 해도 정규식이 잘 나오지 않아 직접 만들어 써야하는군요...........ㅠㅠ


완벽하지는 않지만 이 정도면 되겠다 싶으신 분들이 사용하시면 될 것 같습니다.


제가 만든 정규식은 아래와 같습니다.


@"(([0-9]{2}[가-힣]{1}[0-9]{4}|[가-힣]{2}[0-9]{2}[가-힣]{1}[0-9]{4}))"


'00가0000' 혹은 '지역00가0000' 두 가지 경우의 차량번호를 체크합니다.


'00가0000'의 경우는 앞에 2자리는 0~9까지의 숫자가 들어올 수 있으며, 3번째 자리는 한글만 들어올 수 있고, 나머지 4자리도 0~9까지 숫자만 들어올 수 있게 처리하였습니다.


그리고 | 를 활용하여 or로 지역00가0000의 경우까지 대처하도록 하여


'지역00가0000'의 경우에는


앞 2자리는 한글, 3~4번째는 숫자, 5번째는 한글, 마지막 4자리는 숫자만 들어올 수 있도록 처리하였습니다.


빠르게 만들어서 사용하려다보니 받침 등을 써도 체크하지 못하는 부분과 0000 이런 숫자가 들어갈 수 있는 부분에 대해서는 처리가 되지 않았지만,


이 정도만 사용해도 괜찮다 하시는 분들만 참고해주세요~


아래는 제가 코딩한 활용 방안입니다.


// 차량번호 체크
private void carNumCheck()
{
    string carNum = "11가1111";

    if (carNum.Length == 7 || carNum.Length == 9)
    {
        Regex regex = new Regex(@"(([0-9]{2}[가-힣]{1}[0-9]{4}|[가-힣]{2}[0-9]{2}[가-힣]{1}[0-9]{4}))");
        Match m = regex.Match(carNum);
        if (m.Success)
        {
            MessageBox.Show("@@ Success");
        }
        else
        {
            MessageBox.Show("@@ Fail");
        }
    }
    else
    {
        MessageBox.Show("자릿 수 맞지 않음.");
    }
}


잘못된 부분이나 궁금하신 점 댓글주세요.


도움이 되셨다면 공감 한 번씩만 꼭! 부탁드리겠습니다.


감사합니다.




WRITTEN BY
IT김군
S/W 개발자 김군의 메모장

,