从字符串的开头和结尾修剪空格

2022-08-30 02:32:32

我正在尝试找到一种方法来修剪标题字符串的开头和结尾的空格。我正在使用这个,但它似乎不起作用:

title = title.replace(/(^[\s]+|[\s]+$)/g, '');

有什么想法吗?


答案 1

注意:截至2015年,所有主流浏览器(包括IE>=9)都支持String.prototype.trim()。这意味着对于大多数用例来说,简单地做是实现问题所在的最佳方式。str.trim()


Steven Levithan在性能方面分析了Javascript中许多不同的实现。trim

他的建议是:

function trim1 (str) {
    return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

用于“快速跨浏览器的通用实现”,以及

function trim11 (str) {
    str = str.replace(/^\s+/, '');
    for (var i = str.length - 1; i >= 0; i--) {
        if (/\S/.test(str.charAt(i))) {
            str = str.substring(0, i + 1);
            break;
        }
    }
    return str;
}

“如果你想在所有浏览器中都非常快速地处理长字符串”。

引用


答案 2

如果使用jQuery是一个选项:

/**
 * Trim the site input[type=text] fields globally by removing any whitespace from the
 * beginning and end of a string on input .blur()
 */
$('input[type=text]').blur(function(){
    $(this).val($.trim($(this).val()));
});

或者干脆:

$.trim(string);