Guest User

Untitled

a guest
Mar 23rd, 2022
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         comdirect.wknFilter
  3. // @namespace    http://tampermonkey.net/
  4. // @version      1.3
  5. // @description  Erstellt einen Link auf der Seite zu der WKN
  6. // @author       Hokkaydo
  7. // @match        https://community.comdirect.de/t5/*
  8. // @icon        
  9. // @grant        none
  10. // ==/UserScript==
  11.  
  12. (function() {
  13.     'use strict';
  14.  
  15.     // WKN Filter
  16.     var all_words;
  17.     // alle Posts einlesen
  18.     let all_msgs = document.getElementsByClassName("lia-message-body-content");
  19.  
  20.     for (var j = 0; all_msgs.length - 1; j++) {
  21.         if (all_msgs.item(j) == undefined) { break; }
  22.         // Text der Meldung
  23.         let single_msg = all_msgs.item(j).innerHTML;
  24.         // Tags entfernen
  25.         let single_msg_no_tags = single_msg.replace(/nbsp/gm,' ');
  26.         single_msg_no_tags = single_msg_no_tags.replace(/<[^>]*>?/gm, ' ');
  27.         single_msg_no_tags = single_msg_no_tags.replace(/[+\-/\\(\){}\[\]<>!§$%&=?*#€¿&_\".,:;]/gm, ' ');
  28.        single_msg_no_tags = single_msg_no_tags.replace("nbsp",' ');
  29.        // auf einzelne Worte aufteilen
  30.        let single_msg_words = single_msg_no_tags.split(' ');
  31.        for (var k = 0; single_msg_words.length - 1; k++) {
  32.            if (single_msg_words[k] == undefined) {
  33.                break;
  34.            }
  35.            // prüfen, ob das Wort bereits verarbeitet
  36.            if (all_words != undefined) {
  37.                if (all_words.indexOf(single_msg_words[k]) != -1) {
  38.                    continue;
  39.                }
  40.            }
  41.            // wenn Länge des Wortes 6 Zeichen
  42.            if (single_msg_words[k].length == 6) {
  43.                // prüfen, ob nur Zahlen+Buchstaben, oder nur Zahlen
  44.                var RegEx = /[A-Z]/i;
  45.                var valid_chars = RegEx.test(single_msg_words[k]);
  46.                RegEx = /[0-9]/i;
  47.                var valid_num = RegEx.test(single_msg_words[k]);
  48.                RegEx = /[A-Z0-9]/i;
  49.                var valid_both = RegEx.test(single_msg_words[k]);
  50.  
  51.                if ( ( valid_chars == true && valid_num == true ) || valid_num == true )
  52.                {
  53.                    var replace = 'X';
  54.                    valid_num = false;
  55.                    valid_both = false;
  56.                }
  57.            }
  58.            //ISIN
  59.            if (single_msg_words[k].length == 12) {
  60.                var isin = single_msg_words[k].match("([A-Z]{2})([A-Z0-9]{9})([0-9]{1})");
  61.  
  62.                if (isin != null){
  63.                    replace = 'X'
  64.                }
  65.            }
  66.            if (replace == 'X') {
  67.                // Link aufbauen
  68.                var href = "<a target=\"_blank\" href=\"https://www.comdirect.de/inf/search/general.html?SEARCH_VALUE=" +
  69.                     single_msg_words[k]
  70.                 +"&SEARCH_REDIRECT=true&REDIRECT_TYPE=WKN\">" + single_msg_words[k] + "</a>";
  71.                 // Text ersetzen
  72.                 single_msg = single_msg.replaceAll(single_msg_words[k], href);
  73.                 replace = '';
  74.             }
  75.  
  76.             // Liste der verwendeten Wörter
  77.             all_words = all_words + single_msg_words[k];
  78.         }
  79.         all_words = '';
  80.         // Text im Seitenquelltext ersetzen
  81.         all_msgs.item(j).innerHTML = single_msg;
  82.     }
  83. })();
Advertisement
Add Comment
Please, Sign In to add comment