I spent a few minutes on this earlier and wanted to share in case anyone had a similar use case. It’s not uncommon to create a URL based on user input (example.com/company-name) but you never know what someone is going to put in that input field— that’s why we have to do some work to make it url-friendly.
This function turns spaces into hyphens, removes whitespace & leading/trailing hyphens, removes illegal characters, & limits to 32 characters.
const sanitizeForUrl = (input) => input .replace(/\s+/g, '-') .replace(/[^a-zA-Z0-9-]/g, '') .replace(/-+/g, '-') .replace(/^-+|-+$/g, '') .toLowerCase() .slice(0, 32); const companyUrl = sanitizeForUrl( variables['f5a797d0-d19f-4252-941e-d8b6a66a8399-value'] ) return companyUrl
Hope someone finds this useful!
Note: I didn’t look too hard to see if there was built-in functionality for this— apologies if this is already possible without custom JS.