전화번호 해석과 정규화
| 항목 | 값 |
|---|---|
| 화면 이름 | Parse phone number |
| 식별자 | parsePhoneNumberV2 |
| 지원 실행 방식 | Batch, Faster, Streaming |
| 범주 | 문자열 (String) |
| 반환 자료형 | Phone Number |
여러 지역과 형식의 전화번호를 공통 형식으로 정규화합니다. + 뒤에 국제전화 국가번호가 있으면 지역을 지정하지 않아도 해석합니다. 그 밖의 형식에는 해당 지역을 선택해야 하며 해석할 수 없으면 null을 반환합니다.
입력 인자
| 이름 | 지정 여부 | 자료형 | 의미와 조건 |
|---|---|---|---|
Expression | 필수 | Expression<String> | 해석할 전화번호입니다. |
Format | 필수 | Enum<E164, E164_DIGITS_ONLY, INTERNATIONAL, NATIONAL, RFC3966> | 전화번호의 목표 형식입니다. |
Region | 선택 | Enum<Afghanistan, Albania, Algeria, American Samoa, Andorra, Angola, Anguilla, Antigua and Barbuda, Argentina, Armenia, and more ...> | 전화번호가 속한 지역입니다. 생략하면 지역 없이 해석하여 결과가 부정확하거나 없을 수 있지만 여러 지역의 번호가 섞인 경우에 사용할 수 있습니다. 국제전화 국가번호가 있으면 지역 없이도 해석하며 그 밖의 형식에는 지역을 선택해야 합니다. |
자료형의 and more ...는 표시한 열거형 항목 외에도 선택값이 있음을 뜻합니다. 실제 설정에서는 편집기의 해당 선택 목록을 사용합니다.
입출력 예시
예시 1: 기본 동작
숫자만 있는 E164 형식으로 번호를 반환합니다.
인자 값:
Expression: +1 415 5552671Format:E164_DIGITS_ONLYRegion:US
출력: 14155552671
예시 2: 기본 동작
E164 형식으로 번호를 반환합니다.
인자 값:
Expression: +1 415 5552671Format:E164Region:US
출력: +14155552671
예시 3: 기본 동작
INTERNATIONAL 형식으로 번호를 반환합니다.
인자 값:
Expression: +1 415 5552671Format:INTERNATIONALRegion:US
출력: +1 415-555-2671
예시 4: 기본 동작
NATIONAL 형식으로 번호를 반환합니다.
인자 값:
Expression: +1 415 5552671Format:NATIONALRegion:US
출력: (415) 555-2671
예시 5: 기본 동작
RFC3966 형식으로 번호를 반환합니다.
인자 값:
Expression: +1 415 5552671Format:RFC3966Region:US
출력: tel:+1-415-555-2671
예시 6: 기본 동작
서식 지정한 미국 전화번호를 반환합니다.
인자 값:
Expression:phoneNumberFormat:E164Region:US
| phoneNumber | 출력 |
|---|---|
| (234) 235-5678 | +12342355678 |
| +1 415 5552671 | +14155552671 |
| (415) 5552671 | +14155552671 |
| Whatsapp@14155552671 | +14155552671 |
예시 7: null 처리
전화번호를 해석할 수 없으면 null입니다.
인자 값:
Expression:phoneNumberFormat:E164Region: null
| phoneNumber | 출력 |
|---|---|
| null | null |
| 9991-COMPANY | null |
| empty string | null |
예시 8: 경계 조건
+와 국가번호가 있으면 지역을 지정하지 않아도 해당 지역 형식으로 해석합니다. 국가번호가 없으면 지역을 선택해야 합니다. 이 예시에서는 지역을 지정하지 않아 첫째, 셋째, 넷째, 다섯째 행을 올바르게 해석하지 못합니다.
인자 값:
Expression:phoneNumberFormat:E164Region: null
| phoneNumber | 출력 |
|---|---|
| (234) 235-5678 | null |
| +1 415 5551111 | +14155551111 |
| 1 415 555 1111 | null |
| +1 411 1111111 | null |
| +34 91 23 45678 | +34912345678 |
| Whatsapp@34912345678 | null |
예시 9: 경계 조건
국가번호가 있는 번호와 선택한 지역의 번호는 해석합니다. 선택한 지역과 맞지 않는 나머지 번호는 길이도 너무 짧거나 길어 해석하지 못합니다.
인자 값:
Expression:phoneNumberFormat:E164Region:US
| phoneNumber | 출력 |
|---|---|
| (234) 235-5678 | +12342355678 |
| +1 415 5551111 | +14155551111 |
| 1 415 555 1111 | +14155551111 |
| +1 411 1111111 | null |
| +447945120071 | +447945120071 |
| 07945120071 | null |
| not_a_phone_number | null |
| Whatsapp@+34912345678 | +34912345678 |