Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- str.translate()
- // s would be a rather short string (something like
- // 200 characters at max, most of the time much less)
- function makeSortString(s) {
- var translate = {
- "ä": "a", "ö": "o", "ü": "u",
- "Ä": "A", "Ö": "O", "Ü": "U" // probably more to come
- };
- var translate_re = /[öäüÖÄÜ]/g;
- return ( s.replace(translate_re, function(match) {
- return translate[match];
- }) );
- }
- function makeSortString(s) {
- if(!makeSortString.translate_re) makeSortString.translate_re = /[öäüÖÄÜ]/g;
- var translate = {
- "ä": "a", "ö": "o", "ü": "u",
- "Ä": "A", "Ö": "O", "Ü": "U" // probably more to come
- };
- return ( s.replace(makeSortString.translate_re, function(match) {
- return translate[match];
- }) );
- }
- makeSortString.translate_re = /[a-z]/g;
- var makeSortString = (function() {
- var translate_re = /[öäüÖÄÜ]/g;
- return function(s) {
- var translate = {
- "ä": "a", "ö": "o", "ü": "u",
- "Ä": "A", "Ö": "O", "Ü": "U" // probably more to come
- };
- return ( s.replace(translate_re, function(match) {
- return translate[match];
- }) );
- }
- })();
- var makeSortString = (function() {
- var translate_re = /[öäüÖÄÜ]/g;
- var translate = {
- "ä": "a", "ö": "o", "ü": "u",
- "Ä": "A", "Ö": "O", "Ü": "U" // probably more to come
- };
- return function(s) {
- return ( s.replace(translate_re, function(match) {
- return translate[match];
- }) );
- }
- })();
- // file encoding must be UTF-8!
- function getTextExtractor()
- {
- return (function() {
- var patternLetters = /[öäüÖÄÜáàâéèêúùûóòôÁÀÂÉÈÊÚÙÛÓÒÔß]/g;
- var patternDateDmy = /^(?:D+)?(d{1,2}).(d{1,2}).(d{2,4})$/;
- var lookupLetters = {
- "ä": "a", "ö": "o", "ü": "u",
- "Ä": "A", "Ö": "O", "Ü": "U",
- "á": "a", "à": "a", "â": "a",
- "é": "e", "è": "e", "ê": "e",
- "ú": "u", "ù": "u", "û": "u",
- "ó": "o", "ò": "o", "ô": "o",
- "Á": "A", "À": "A", "Â": "A",
- "É": "E", "È": "E", "Ê": "E",
- "Ú": "U", "Ù": "U", "Û": "U",
- "Ó": "O", "Ò": "O", "Ô": "O",
- "ß": "s"
- };
- var letterTranslator = function(match) {
- return lookupLetters[match] || match;
- }
- return function(node) {
- var text = $.trim($(node).text());
- var date = text.match(patternDateDmy);
- if (date)
- return [date[3], date[2], date[1]].join("-");
- else
- return text.replace(patternLetters, letterTranslator);
- }
- })();
- }
- $("table.sortable").tablesorter({
- textExtraction: getTextExtractor()
- });
- String.prototype.strip = function() {
- var translate_re = /[öäüÖÄÜß ]/g;
- var translate = {
- "ä":"a", "ö":"o", "ü":"u",
- "Ä":"A", "Ö":"O", "Ü":"U",
- " ":"_", "ß":"ss" // probably more to come
- };
- return (this.replace(translate_re, function(match){
- return translate[match];})
- );
- };
- var teststring = 'ä ö ü Ä Ö Ü ß';
- teststring.strip();
Add Comment
Please, Sign In to add comment