我如何从字符串的开始和结束删除所有空白?
当前回答
使用简单的代码
var str = " Hello World! ";
alert(str.trim());
浏览器支持
Feature Chrome Firefox Internet Explorer Opera Safari Edge
Basic support (Yes) 3.5 9 10.5 5 ?
为旧浏览器添加原型
if (!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
};
}
其他回答
使用原生JavaScript方法:String.trimLeft(), String.trimRight()和String.trim()。
在IE9+和所有其他主要浏览器中都支持String.trim():
' Hello '.trim() //-> 'Hello'
String.trimLeft()和String.trimRight()是非标准的,但除IE之外的所有主流浏览器都支持
' Hello '.trimLeft() //-> 'Hello '
' Hello '.trimRight() //-> ' Hello'
IE的支持很容易与polyfill:
if (!''.trimLeft) {
String.prototype.trimLeft = function() {
return this.replace(/^\s+/,'');
};
String.prototype.trimRight = function() {
return this.replace(/\s+$/,'');
};
if (!''.trim) {
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
};
}
}
这里有一个非常简单的方法:
function removeSpaces(string){
return string.split(' ').join('');
}
我有一个库,使用修剪。所以通过使用下面的代码来解决它。
String.prototype.trim = String.prototype.trim || function(){ return jQuery.trim(this); };
你可以使用纯JavaScript来实现:
function trimString(str, maxLen) {
if (str.length <= maxLen) {
return str;
}
var trimmed = str.substr(0, maxLen);
return trimmed.substr(0, trimmed.lastIndexOf(' ')) + '…';
}
// Let's test it
sentenceOne = "too short";
sentencetwo = "more than the max length";
console.log(trimString(sentenceOne, 15));
console.log(trimString(sentencetwo, 15));
JavaScript修剪的通用函数是什么?
function trim(str) {
return str.replace(/^\s+|\s+$/g,"");
}