안녕하세요. IT김군입니다.
핸드폰 번호를 체크하는 정규식을 사용하려 했는데 JavaScript나 Java의 경우 구글에 무수하게 많은데
C# 정규식의 경우 구글링을 해도 잘 나오지 않아서 직접 만들어야 했습니다.
다른 분들의 경우 제가 만든게 활용할만 하시면 사용하시라고 포스팅합니다.
제가 만든 정규식은 아래와 같습니다.
하이픈 없이 입력 시
@"01{1}[016789]{1}[0-9]{7,8}"
하이픈 포함하여 입력 시
@"01{1}[016789]{1}-[0-9]{3,4}-[0-9]{4}"
하이픈 없이 입력 시에는
10자리나 11자리 (0111231234 혹은 01012341234 등)에 따라
처음 01이 들어오며 세 번째 자리에는 010, 011, 016, 017, 018, 109만 허용할 수 있게 0, 1, 6, 7, 8, 9만 입력할 수 있도록 했습니다.
그리고 뒤에 올 수 있는 7자리 혹은 8자리는 0~9의 숫자만 입력할 수 있도록 체크하였습니다.
하이픈 포함하여 입력 시에는
12자리나 13자리 (011-123-1234 혹은 010-1234-1234 등)에 따라
처음 01이 들어오며 세 번째 자리는 위와 동일하게 하였고, 네 번째 자리에 하이픈(-)을 체크하며 그 다음 3자리나 4자리가 0~9의 숫자만 들어올 수 있고
마지막 4자리가 0~9의 숫자만 들어올 수 있게 체크하였습니다.
그래서 활용방안 소스는 아래와 같이
phoneNumCheck()는 하이픈없이 입력 시에 활용 방안이고
phoneNumCheck2()는 하이픈까지 입력 시 활용 방안입니다.
using System.Text.RegularExpressions;
// 휴대전화번호 체크 (하이픈 없을 시)
private void phoneNumCheck()
{
string phone = "01012341234";
if (phone.Length == 10 || phone.Length == 11)
{
Regex regex = new Regex(@"01{1}[016789]{1}[0-9]{7,8}");
Match m = regex.Match(phone);
if (m.Success)
{
MessageBox.Show("@@ Success");
}
else
{
MessageBox.Show("@@ 휴대전화 번호 아님");
}
}
else
{
MessageBox.Show("@@ 자릿수 맞지 않음");
}
}
// 휴대전화번호 체크 (하이픈 포함)
private void phoneNumCheck2()
{
string phone = "011-123-1234";
if (phone.Length == 12 || phone.Length == 13)
{
Regex regex = new Regex(@"01{1}[016789]{1}-[0-9]{3,4}-[0-9]{4}");
Match m = regex.Match(phone);
if (m.Success)
{
MessageBox.Show("@@ Success");
}
else
{
MessageBox.Show("@@ 휴대전화 번호 아님");
}
}
else
{
MessageBox.Show("@@ 자릿수 맞지 않음");
}
}
잘못된 부분이나 궁금하신 점 댓글주세요.
도움이 되셨다면 공감 한 번씩만 꼭! 부탁드리겠습니다.
감사합니다.
'C# WPF 개발 메모장' 카테고리의 다른 글
[C# / .NET] 차량번호 정규식 / 체크디지트 (0) | 2018.03.22 |
---|---|
[C# / .NET] 정규 표현식 / Regex (0) | 2018.03.21 |
[C#] 핸드폰 번호에 하이픈(Hyphen / - ) 넣기 (0) | 2018.03.21 |
[C# / WPF] Contents Visible / InVisible (Hidden) 보이기 / 숨기기 (1) | 2018.03.20 |
[C# / WPF] CheckBox 사용법과 TextBox (Content) Enable / Disable 연계 (0) | 2018.03.16 |
WRITTEN BY
- IT김군
S/W 개발자 김군의 메모장
,