如何从字符串中剥离前导和尾随空格?
例如,“dog”应该变成“dog”。
如何从字符串中剥离前导和尾随空格?
例如,“dog”应该变成“dog”。
当前回答
Steven Levithan曾经写过关于如何实现一个更快的JavaScript Trim。绝对值得一看。
其他回答
Gumbo已经在评论中提到了这一点,但这值得重复作为回答:trim()方法是在JavaScript 1.8.1中添加的,并且所有现代浏览器(Firefox 3.5+, IE 9, Chrome 10, Safari 5.x)都支持,尽管IE 8及更老版本不支持它。用法很简单:
" foo\n\t ".trim() => "foo"
参见:
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/Trim http://msdn.microsoft.com/en-us/library/windows/apps/ff679971%28v=vs.94%29.aspx
如果你已经在使用jQuery,那么你可能想看看jQuery.trim(),它已经提供给jQuery了。
Steven Levithan曾经写过关于如何实现一个更快的JavaScript Trim。绝对值得一看。
这是我使用的函数。
function trim(s){
return ( s || '' ).replace( /^\s+|\s+$/g, '' );
}
来自MDN的更好的填料,支持去除BOM和NBSP:
if (!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
};
}
请记住,修改内置原型会带来性能损失(由于JS引擎放弃了许多运行时优化),在性能关键的情况下,您可能需要考虑定义myTrimFunction(string)的替代方案。话虽如此,如果您的目标是一个没有本机.trim()支持的旧环境,那么您可能要处理更重要的性能问题。