[javascript] 모바일 디바이스의 휴대폰번호 가져오기

모바일 웹 애플리케이션을 개발하다보면, 사용자의 휴대폰 번호를 가져와야 할 때가 있습니다. 예를 들어, 회원 가입 시 휴대폰 인증을 위해 사용자의 휴대폰 번호를 자동으로 입력해주는 기능이 필요할 수 있습니다. 이번 포스트에서는 JavaScript를 사용하여 모바일 디바이스의 휴대폰 번호를 가져오는 방법에 대해 알아보겠습니다.

  1. Device API 사용하기 가장 간단한 방법은 Device API를 사용하는 것입니다. Device API는 서로 다른 디바이스의 하드웨어 및 소프트웨어 기능에 접근할 수 있는 API입니다. 휴대폰 번호는 개인정보에 해당하기 때문에, Device API를 사용하기 전에 사용자의 동의를 받아야 합니다.
if ('contacts' in navigator && 'ContactsManager' in window) {
    navigator.contacts.select(['tel'], { multiple: false, fields: ['tel'] }).then(function (contacts) {
        var phoneNumber = contacts[0].tel[0].value;
        console.log(phoneNumber);
    }).catch(function (err) {
        console.error(err);
    });
}

위의 코드는 ContactsManager를 사용하여 사용자의 연락처에 접근하고, 휴대폰 번호를 가져오는 예제입니다. 사용자의 휴대폰에 저장된 연락처 중 첫 번째 연락처의 휴대폰 번호를 가져와서 출력합니다.

  1. SMS 수신하기 SMS 수신 기능을 활용하여 휴대폰 번호를 가져올 수도 있습니다. 사용자의 휴대폰에 SMS를 보내고, 그 내용에 포함된 휴대폰 번호를 가져오는 방법입니다.
if ('sms' in navigator && 'getMessages' in navigator.sms) {
    navigator.sms.getMessages().then(function (messages) {
        var phoneNumber = messages[0].sender;
        console.log(phoneNumber);
    }).catch(function (err) {
        console.error(err);
    });
}

위의 코드는 getMessages 함수를 사용하여 사용자의 SMS 메시지를 가져오고, 첫 번째 메시지의 발신자 번호를 가져와서 출력합니다.

다만, SMS 수신 기능은 사용자의 동의 없이 메시지를 가져올 수 없으며, SMS 메시지에 따라 결과가 달라질 수 있습니다.

결론 위의 방법들은 JavaScript를 사용하여 모바일 디바이스의 휴대폰 번호를 가져오는 간단한 예제입니다. 하지만, 이 방법들은 모든 디바이스에서 동일하게 동작하지는 않을 수 있으며, 사용자의 동의를 받아야 한다는 점을 주의해야 합니다. 또한, 모든 상황에서 정확한 휴대폰 번호를 가져올 수 있는 것은 아니기 때문에, 이를 고려하여 개발해야 합니다.

참고 문서: