Вот мой дубль.Вам нужно будет добавить несколько строк для дополнительных диакритических знаков (акцентированных символов), которые вы хотите заменить.Вот ссылка для кого-то еще, кто это сделал.
Обновление : использование .normalize
вместо указания каждой диакритической замены
function clearResult(){
document.getElementById('result').value = "";
}
function stripUrl(){
var text = document.getElementById('input').value;
var newText = text.trim()
.normalize('NFKD')
.replace(/[\u0300-\u036f]/g, "")
.replace(/[^\w/:.]/gi, '-') //clean up special characters
.replace(/-{2,}/gi,'-'); //handle multiple dashes
document.getElementById('result').value = newText;
}
<input id="input" type="text" value="https://google.com/)!(#$!*$ assfsd/ /mañana/aaa" style="width:500px;" onchange="clearResult()"/>
<button onclick="stripUrl()">StripUrl</button>
<br/>
<input type="text" id="result" style="width:500px;"/>