Server IP : 92.205.26.207 / Your IP : 216.73.216.16 Web Server : Apache System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64 User : zikryat ( 1002) PHP Version : 8.3.23 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/zikryat/public_html/node_modules/libphonenumber-js/source/helpers/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
import isViablePhoneNumber from './isViablePhoneNumber.js' // https://www.ietf.org/rfc/rfc3966.txt /** * @param {string} text - Phone URI (RFC 3966). * @return {object} `{ ?number, ?ext }`. */ export function parseRFC3966(text) { let number let ext // Replace "tel:" with "tel=" for parsing convenience. text = text.replace(/^tel:/, 'tel=') for (const part of text.split(';')) { const [name, value] = part.split('=') switch (name) { case 'tel': number = value break case 'ext': ext = value break case 'phone-context': // Only "country contexts" are supported. // "Domain contexts" are ignored. if (value[0] === '+') { number = value + number } break } } // If the phone number is not viable, then abort. if (!isViablePhoneNumber(number)) { return {} } const result = { number } if (ext) { result.ext = ext } return result } /** * @param {object} - `{ ?number, ?extension }`. * @return {string} Phone URI (RFC 3966). */ export function formatRFC3966({ number, ext }) { if (!number) { return '' } if (number[0] !== '+') { throw new Error(`"formatRFC3966()" expects "number" to be in E.164 format.`) } return `tel:${number}${ext ? ';ext=' + ext : ''}` }