2012-07-16 50 views
3

我已經使用nodejs加密函數庫成功解密了敏感數據。修改nodejs加密函數返回字符串中的非ASCII字符

問題是解密的數據有一個尾隨的非ASCII字符。

我該如何修剪?

我目前的修剪功能我下面沒有做這項工作。

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

回答

4

我認爲以下就足夠了。

str.replace(/[^A-Za-z 0-9 \.,\?""[email protected]#\$%\^&\*\(\)-_=\+;:<>\/\\\|\}\{\[\]`~]*/g, '') ; 
0

基於this answer,你可以使用:

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

這應該刪除所有空格和非ASCII字符的字符串的結束,而是留在他們中間,例如:

"Abcde ffאggg ג ב".fulltrim(); 
// "Abcde ffאggg";