libreccm-legacy/ccm-core/web/javascript/manipulate-input.js

47 lines
1.3 KiB
JavaScript
Executable File

// can be used to ensure that input values will be valid when used as part of urls
//
function urlize(title) {
var result = "";
for (var i = 0; i < title.length; i++) {
result = result + substitute(title.charAt(i));
}
return escape(result);
}
function substitute(c) {
var sourceChars="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_ &/";
var targetChars="0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz-_---";
var indexChar = sourceChars.indexOf(c);
if (indexChar > -1) {
return targetChars.charAt(indexChar);
} else {
// Replacement list for special characters
switch(c) {
case "Ä": return "Ae";
break;
case "ä": return "ae";
break;
case "Ö": return "Oe";
break;
case "ö": return "oe";
break;
case "Ü": return "Ue";
break;
case "ü": return "ue";
break;
case "ß": return "ss";
break;
default: return "";
}
}
}