function getPureText(str) {

    // fix space
    var emptyTextMap = {};

    function replaceEmpty (word) {
        emptyTextMap[word] = 1;
        return '';
    }

    var pureText = String(str)
        .replace(/[\s]/g, replaceEmpty)
        .trim()
        // .replace(/[\f]/g, '')
        // .replace(/[\b]/g, '')
        // .replace(/[\n]/g, '')
        // .replace(/[\t]/g, '')
        // .replace(/[\r]/g, '')
        .replace(/[\u2028]/g, '')
        .replace(/[\u2029]/g, '');

    var emptyText = Object.keys(emptyTextMap).join('');

    return pureText + emptyText;

}
getPureText

@see https://msdn.microsoft.com/zh-cn/library/ie/2yfce773
@see http://www.unicode.org/charts/

@param  {string} str target text
@return {string}     pure text