Code to Parse Phone Number

I have been using Zapier so far and now I want to switch to Make, but a problem has arisen immediately. With Zapier’s Code by Zapier, I created a script to convert mobile phone numbers from Germany and the former Yugoslav countries into the correct format. How can I implement this in Make without having to access a commercial offer?

This is the Code i used in Zapier!

// Extrahiere die Telefonnummer aus dem Input Data Objekt
const telefonnummer = inputData.telefonnummer;

// Überprüfe, ob die Telefonnummer mit 0049 beginnt
if (telefonnummer.startsWith(“0049”)) {
// Wenn ja, ersetze 0049 mit +49
const nummer = telefonnummer.replace(“0049”, “+49”);
// Weise die neue Nummer dem Output Objekt zu
output = { nummer };
}
// Überprüfe, ob die Telefonnummer mit 003 beginnt
else if (telefonnummer.startsWith(“003”)) {
// Wenn ja, ersetze 003 mit +03
const nummer = telefonnummer.replace(“003”, “+03”);
// Weise die neue Nummer dem Output Objekt zu
output = { nummer };
}
// Überprüfe, ob die Telefonnummer mit 49 beginnt
else if (telefonnummer.startsWith(“49”)) {
// Wenn ja, ersetze 49 mit +49
const nummer = telefonnummer.replace(“49”, “+49”);
// Weise die neue Nummer dem Output Objekt zu
output = { nummer };
}
// Überprüfe, ob die Telefonnummer mit 3 beginnt
else if (telefonnummer.startsWith(“3”)) {
// Wenn ja, setze vor die 3 ein ++
const nummer = telefonnummer.replace(“3”, “+3”);
// Weise die neue Nummer dem Output Objekt zu
output = { nummer };
}
// Überprüfe, ob die Telefonnummer mit 1 beginnt
else if (telefonnummer.startsWith(“1”)) {
// Wenn ja, setze vor die eins ein +49
const nummer = telefonnummer.replace(“1”, “+491”);
// Weise die neue Nummer dem Output Objekt zu
output = { nummer };
}
// Wenn keiner der obigen Fälle zutrifft
else {
// Weise die unveränderte Telefonnummer dem Output Objekt zu
output = { telefonnummer };
}

Welcome to the Make community!

Yes, that is possible. You’ll need a minimum of one module:

You can copy and paste this module export into your scenario. This will paste the modules shown in my screenshots above.

  1. Copy the code below by clicking the copy button when you mouseover the top-right of the code block
    Screenshot_2024-01-17_200117

  2. Enter your scenario editor. Press ESC to close any dialogs. Press CTRLV to paste in the canvas.

  3. Click on each imported module and save it. You may need to remap some variables.

Modules JSON Export

{
    "subflows": [
        {
            "flow": [
                {
                    "id": 49,
                    "module": "util:SetVariable2",
                    "version": 1,
                    "parameters": {},
                    "mapper": {
                        "name": "formatted_phone",
                        "scope": "roundtrip",
                        "value": "{{replace(replace(replace(replace(48.phone; \"/^(00)?49/\"; \"+\" + formatNumber(49)); \"/^003/\"; \"+\" + formatNumber(0) + formatNumber(3)); \"/^3/\"; \"+\" + formatNumber(3)); \"/^1/\"; \"+\" + formatNumber(491))}}"
                    },
                    "metadata": {
                        "designer": {
                            "x": 576,
                            "y": -2253
                        },
                        "restore": {
                            "expect": {
                                "scope": {
                                    "label": "One cycle"
                                }
                            }
                        },
                        "expect": [
                            {
                                "name": "name",
                                "type": "text",
                                "label": "Variable name",
                                "required": true
                            },
                            {
                                "name": "scope",
                                "type": "select",
                                "label": "Variable lifetime",
                                "required": true,
                                "validate": {
                                    "enum": [
                                        "roundtrip",
                                        "execution"
                                    ]
                                }
                            },
                            {
                                "name": "value",
                                "type": "any",
                                "label": "Variable value"
                            }
                        ],
                        "interface": [
                            {
                                "name": "formatted_phone",
                                "label": "formatted_phone",
                                "type": "any"
                            }
                        ]
                    }
                }
            ]
        }
    ],
    "metadata": {
        "version": 1
    }
}
2 Likes