UNPKG

@squirrel-forge/ui-util

Version:

A collection of utilities, classes, functions and abstracts made for the browser and babel compatible.

23 lines (19 loc) 746 B
/** * Convert string to slug * @param {string} str - String to sanitize * @return {string} - Sanitized string */ export function strSlug( str ) { str = str.replace( /^\s+|\s+$/g, '' ); // trim str = str.toLowerCase(); // remove accents, swap ñ for n, etc const from = 'àáäâèéëêìíïîòóöôùúüûñç·/_,:;'; const to = 'aaaaeeeeiiiioooouuuunc------'; for ( let i = 0, l = from.length; i < l; i++ ) { str = str.replace( new RegExp( from.charAt( i ), 'g' ), to.charAt( i ) ); } str = str.replace( /[^a-z0-9 -]/g, '' ) // remove invalid chars .replace( /\s+/g, '-' ) // collapse whitespace and replace by - .replace( /-+/g, '-' ); // collapse dashes return str; }