open all links in the new tab except for the turn page link

except for the turn page link whose inner text is 'next', 'previous' and other page number)

2017-09-25 يوللانغان نەشرى. ئەڭ يېڭى نەشرىنى كۆرۈش.

// ==UserScript==
// @name           open all links in the new tab except for the turn page link
// @description    except for the turn page link whose inner text is 'next', 'previous' and other page number)
// @include        http://*
// @include        https://*
// @author         yechenyin
// @version        0.5
// @namespace 	   https://gf.zukizuki.org/users/3586-yechenyin
// @grant       	 GM_openInTab
// ==/UserScript==
var exception = ['https://m.leiphone.com/page/'];
function getAncestorLink(element) {
  while (element && element.nodeName != "A") {
    element = element.parentNode;
  }
  if (element.nodeName === "A")
    return element;
}

String.prototype.matched = function(strings) {
  for (var i = 0; i < strings.length; i++) {
    if (typeof strings[i] == 'string' && this.indexOf(strings[i]) === 0)
      return true;
    else if (strings[i] instanceof RegExp && this.test(strings[i]))
      return true;
  }
  return false;
};

document.addEventListener('click', function(e) {
  var link = getAncestorLink(e.target);
  console.log(link.innerText);
  if (link && link.href && !/^(\d+|Next|Prev|>|<|下一页|上一页|下一頁|上一頁|回首頁|次へ|前へ)$/.test(link.innerText) && !link.href.matched(exception))
    link.target = '_blank';
});