4

nodejs 暗号ライブラリを使用して機密データを正常に復号化しました。

問題は、復号化されたデータの末尾に非 ASCII 文字があることです。

どうすればそれをトリミングできますか?

以下の現在のトリム関数は機能しません。

String.prototype.fulltrim = function () {
  return this.replace( /(?:(?:^|\n)\s+|\s+(?:$|\n))/g, '' ).replace( /\s+/g, ' ' );
};
4

2 に答える 2

5

以下で十分だと思います。

str.replace(/[^A-Za-z 0-9 \.,\?""!@#\$%\^&\*\(\)-_=\+;:<>\/\\\|\}\{\[\]`~]*/g, '') ; 
于 2012-07-16T04:59:18.770 に答える
0

この回答に基づいて、次を使用できます。

String.prototype.fulltrim = function () {
  return this.replace( /([^\x00-\xFF]|\s)*$/g, '' );
};

これにより、文字列の末尾にあるすべてのスペースと非 ASCII 文字が削除されますが、途中には残ります。次に例を示します。

"Abcde ffאggg ג ב".fulltrim();
// "Abcde ffאggg";
于 2012-07-16T05:13:24.897 に答える