Skip to content

Commit ca77c3b

Browse files
authored
Merge pull request #79 from TaeBbong/feature/add-kr-phone-number-support
feat: Added Korean phone number support
2 parents ff96bdf + 64cdfcb commit ca77c3b

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed

lib/src/phone_number.dart

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,21 @@ class PhoneNumber {
121121
'+81 0###-###-####',
122122
'+81 (0###) ###-####',
123123
];
124+
static const krPhoneNumberPatterns = [
125+
// Standard 10-digit phone number formats
126+
'010########',
127+
'010-####-####',
128+
'010.####.####',
129+
// Standard 11-digit phone number formats
130+
'01#########',
131+
'01#-###-####',
132+
'01#.###.####',
133+
// Standard 11-digit phone number formats with country code
134+
'+82-10-####-####',
135+
'+82 10 #### ####',
136+
'+82-1#-###-####',
137+
'+82 1# ### ####',
138+
];
124139

125140
const PhoneNumber(this.random);
126141

@@ -131,4 +146,6 @@ class PhoneNumber {
131146
String de() => random.fromPattern(dePhoneNumberPatterns);
132147

133148
String ja() => random.fromPattern(jaPhoneNumberPatterns);
149+
150+
String kr() => random.fromPattern(krPhoneNumberPatterns);
134151
}

test/specs/phone_number.dart

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,4 +181,30 @@ void main() {
181181
}
182182
});
183183
});
184+
group('kr', () {
185+
test('should be able to generate kr phone number', () {
186+
for (var i = 0; i < 20; i++) {
187+
expect(
188+
faker.phoneNumber.kr(),
189+
anyOf([
190+
// Standard 10-digit phone number formats
191+
matches(r'010\d{8}'),
192+
matches(r'010-\d{4}-\d{4}'),
193+
matches(r'010\.\d{4}\.\d{4}'),
194+
195+
// Standard 11-digit phone number formats
196+
matches(r'01\d{9}'),
197+
matches(r'01\d-\d{3}-\d{4}'),
198+
matches(r'01\d\.\d{3}\.\d{4}'),
199+
200+
// Standard 11-digit phone number formats with country code
201+
matches(r'\+82-10-\d{4}-\d{4}'),
202+
matches(r'\+82 10 \d{4} \d{4}'),
203+
matches(r'\+82-1\d-\d{3}-\d{4}'),
204+
matches(r'\+82 1\d \d{3} \d{4}'),
205+
]),
206+
);
207+
}
208+
});
209+
});
184210
}

0 commit comments

Comments
 (0)