これはTimPietzckerの回答に対するコメントですが、コメントでコードを表示するのは厄介です...XRexExpパッケージを使用する簡単な例を次に示します。
<p id=orig>Bundespräsident / ß+ð/ə¿α!</p>
<p id=new></p>
<script src="http://cdnjs.cloudflare.com/ajax/libs/xregexp/2.0.0/xregexp-min.js">
</script>
<script src="http://xregexp.com/addons/unicode/unicode-base.js">
</script>
<script>
var regex = new XRegExp("\\P{L}+", "g");
var string = document.getElementById('orig').innerHTML;
string = XRegExp.replace(string, regex, "");
document.getElementById('new').innerHTML = string;
</script>
本番環境で使用する場合は、基本パッケージとUnicodeプラグインのいくつかのバージョンをダウンロードして、サーバーで使用することをお勧めします。
注:コードは、Unicodeで文字(アルファベット)として分類されていない文字をチェックします。自然言語の単語にはハイフン、アポストロフィ、その他の非文字が含まれている場合がありますが、これは「単語文字」の意味に対応していると思います。
文字がUnicodeに追加され、文字のカテゴリが(まれに)変更される可能性があることに注意してください。ただし、パッケージは適切に保守されています。Unicode 6.1に対応しています(バージョン6.2はリリースされていますが、新しい文字はありません)。