diff --git a/src/helpers/cms-content-helper.js b/src/helpers/cms-content-helper.js index dae1dadb..998438f8 100644 --- a/src/helpers/cms-content-helper.js +++ b/src/helpers/cms-content-helper.js @@ -326,20 +326,9 @@ function mapStringToState(str) { * @param str */ export function mapStringToPhoneNumber(str) { - const startIndex = str.indexOf(`{${dynamicStrings.PHONE_NUMBER}`); - - let textToReplace = str.substring(startIndex, str.length); - textToReplace = textToReplace.substring(0, textToReplace.indexOf('}') + 1); - - const phoneNumber = textToReplace.substring( - dynamicStrings.PHONE_NUMBER.length + 2, - textToReplace.length - 1 - ); - const displayPhoneNumber = toDisplayPhoneNumber(phoneNumber); - - const returnVal = str.replace(textToReplace, displayPhoneNumber); - - return returnVal; + // Expected token format: {phoneNumber:##########} (or 11 digits). + const regexExp = new RegExp(`\\{${dynamicStrings.PHONE_NUMBER}:([^{}]*?)\\}`, 'g'); + return str.replace(regexExp, (_match, phoneNumber) => toDisplayPhoneNumber(phoneNumber)); } /**