app .factory('RewriteService', function () { return { transform: function (value, lowdash) { lowdash = lowdash || '-'; var r1 = new RegExp(lowdash + '{2,}', 'g'); var r2 = new RegExp(lowdash + '+$', 'gm'); var r3 = new RegExp('^' + lowdash + '+', 'gm'); return value .substring(0, 128) .toLowerCase() .strtr('ęóąśłżźćń', 'eoaslzzcn') .replace(/[^a-z0-9]/g, lowdash) .replace(r1, lowdash) .replace(r2, '') .replace(r3, ''); } }; });