개요
회원으로부터 입력받은 생년월일의 유효성 체크를 위해 정규식을 작성해 보았다.
public static bool IsValidBirthday(string inValue)
{
bool isValidate = false;
isValidate = Regex.IsMatch(inValue, "[1-2]{1}[0-9]{3}[0-1]{1}[0-9]{1}[0-3]{1}[0-9]{1}");
return isValidate;
}
하지만, 단점이 '19800536' 입력할 경우 그대로 통과해 버린다. 문제는 입력받은 생년월일을 이후 DateTime으로 변환시 Exception 문제가 발생했다.
그래서 입력 받은 생년월일 'DateTime.TryParseExact()' 통해 한번더 확인했다.
using System.Globalization;
using System.Text.RegularExpressions;
...
public static bool IsBirthdayValidCheck(string inValue)
{
bool isValid = false;
isValid = IsValidBirthday(inValue);
if (!isValid)
{
return false;
}
return DateTime.TryParseExact(inValid, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyle.None);
}
...
string strBirthday = string.Empty;
strBirthday = "19801125";
if (!IsBirthdayValidCheck(strBirthday))
{
//잘못된 생년월일
return;
}
//정상 생년월일
'개발언어 > .NET' 카테고리의 다른 글
data to byte로 변환하기 (0) | 2019.01.17 |
---|---|
C# delegate 사용법 - 사례2 (0) | 2019.01.15 |
WPF TextBox 기본 IME 모드를 한글로 입력 받기 (0) | 2019.01.10 |
C# Process 검색 (0) | 2019.01.08 |
C# delegate 사용법 - 사례1 (0) | 2019.01.05 |