Data table with accents - STRING data

Neutralize special characters with datatables search and sorting of string data

HTML

<script src="//cdn.datatables.net/1.10.7/js/jquery.dataTables.min.js"></script>
<link rel="stylesheet" href="//cdn.datatables.net/1.10.7/css/jquery.dataTables.css">
<table id="example">
  <thead>
    <tr>
      <th>Name</th>
      <th>Country</th>
      <th>Company</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Andrew Smith</td>
      <td>Canada</td>
      <td>Acme</td>
    </tr>
    <tr>
      <td>Benjamin TÜV</td>
      <td>Austria</td>
      <td>Legoland</td>
    </tr>
    <tr>
      <td>Carl TUV</td>
      <td>Switzerland</td>
      <td>Swatchmania</td>
    </tr>
    <tr>
      <td><a href="javascript:void(0)">Donald Tüv</a></td>
      <td>Germany</td>
      <td>Smobymade</td>
    </tr>
    <tr>
      <td>Edward tuv</td>
      <td>Belgium</td>
      <td>Godiva</td>
    </tr>
    <tr>
      <td>Frank Jones</td>
      <td>Canada</td>
      <td>Pricemaker</td>
    </tr>
  </tbody>
</table>

JavaScript

jQuery.fn.dataTable.ext.type.search.string = function(data) {
  return !data ?
    '' :
    typeof data === 'string' ?
    data
    .replace(/έ/g, 'ε')
    .replace(/ύ/g, 'υ')
    .replace(/ό/g, 'ο')
    .replace(/ώ/g, 'ω')
    .replace(/ά/g, 'α')
    .replace(/ί/g, 'ι')
    .replace(/ή/g, 'η')
    .replace(/\n/g, ' ')
    .replace(/[áÁ]/g, 'a')
    .replace(/[éÉ]/g, 'e')
    .replace(/[íÍ]/g, 'i')
    .replace(/[óÓ]/g, 'o')
    .replace(/[úÚ]/g, 'u')
    .replace(/[üÜ]/g, 'u')
    .replace(/ê/g, 'e')
    .replace(/î/g, 'i')
    .replace(/ô/g, 'o')
    .replace(/è/g, 'e')
    .replace(/ï/g, 'i')
    .replace(/ã/g, 'a')
    .replace(/õ/g, 'o')
    .replace(/ç/g, 'c')
    .replace(/ì/g, 'i') :
    data;
};

$(document).ready(function() {
  var oTable = $('#example').DataTable({
    "columnDefs": [{
      "type": "string",
      "targets": '_all'
    }]
  });
  // Remove accented character from search input as well
  $('#example_filter input').keyup(function() {
    oTable
      .search(
        jQuery.fn.dataTable.ext.type.search.string(this.value)
      )
      .draw();
  });
});