说到trim,其实这真的让无数前端郁闷。比如在处理input框里内容的时候,都会需要处理input内容的左右空格。但让人郁闷的是,String里居然没有原生方法,而每个人的实现方法都会不一样,效率也各有不同。
但是,新版的ECMA-262里已经表示有此方法了:
ECMA-262(V5)
15.5.4.20 String.prototype.trim ( )
The following steps are taken:
1. Call CheckObjectCoercible passing the this value as its argument.
2. Let S be the result of calling ToString, giving it the this value as its argument.
3. Let T be a String value that is a copy of S with both leading and trailing white space removed. The definition
of white space is the union of WhiteSpace and LineTerminator .
4. Return T.
NOTE The trim function is intentionally generic; it does not require that its this value be a String object. Therefore, it
can be transferred to other kinds of objects for use as a method.
本文摘自http://www.cnblogs.com/snandy/archive/2011/02/26/1965866.html,只是经过我自己的整理了啦。
第一种:这种是大多数人都会写的,也是流传最多的代码了吧?
String.prototype.trim = function() {
//return this.replace(/[(^\s+)(\s+$)]/g,"");//會把字符串中間的空白符也去掉
//return this.replace(/^\s+|\s+$/g,""); //
return this.replace(/^\s+/g,"").replace(/\s+$/g,"");
}
第二种:来自motools:
function trim(str){
return str.replace(/^(\s|\xA0)+|(\s|\xA0)+$/g, '');
}
第三种:这是jQuery的,jquery的方法类似于第一种:
function trim(str){
return str.replace(/^(\s|\u00A0)+/,'').replace(/(\s|\u00A0)+$/,'');
}
第四种是来自所摘博客中最写的:Steven Levithan 在进行性能测试后提出了在JS中执行速度最快的裁剪字符串方式,在处理长字符串时性能较好:
function trim(str){
str = str.replace(/^(\s|\u00A0)+/,'');
for(var i=str.length-1; i>=0; i--){
if(/\S/.test(str.charAt(i))){
str = str.substring(0, i+1);
break;
}
}
return str;
}
博客中还写了这么一点,那就是Molliza Gecko 1.9.1引擎中还给String添加了trimLeft ,trimRight 方法。
这让我想起了PHP的代码,比如ltrim,rtrim,trim之类的
分享到:
相关推荐
### JavaScript中实现trim函数的两种方法 在日常的前端开发工作中,我们经常需要对字符串进行操作,其中一种常见的需求就是去除字符串两端的空白字符。尽管现代JavaScript已经内置了`trim()`方法来帮助开发者轻松...
接着,我们看到JQuery、Mootools、Prototype框架下的trim实现: ```javascript function trim1(str) { return str.replace(/^(\s|\xA0)+|(\s|\xA0)+$/g, ''); } ``` 这里的正则表达式使用了`\xA0`来匹配不间断...
然而,为了方便开发者处理字符串,本文将详细介绍如何在JavaScript中自定义实现`trim()`方法。 #### 自定义`trim()`方法 在JavaScript中,可以通过编写简单的函数来自定义实现`trim()`方法。下面将分步骤详细介绍...
在JavaScript中我们需要用到trim的地方很多,但是JavaScript又没有独立的trim函数或者方法可以使用,所以我们需要自己写个trim函数来实现我们的目的。 方案一: 以原型方式调用,即obj.trim()形式,此方式简单且使用...
### JavaScript中的Trim函数和日期时间格式化函数 在JavaScript中,字符串处理和日期操作是非常常见的需求,尤其是在数据清洗、格式转换等场景下。本文将详细介绍如何利用自定义方法实现字符串的Trim功能以及日期...
JavaScript中的原生`trim()`函数是通过正则表达式来实现的,这可能导致在某些浏览器或环境下执行速度较慢。为了提升效率,开发者通常会寻找替代方法,比如使用循环和字符检查来手动清理字符串边缘的空白。这种自定义...
* JavaScript 中不存在 trim() 方法来去除字符串左右的空格,需要自定义 trim() 方法。 * 使用 String.prototype 来扩展 String 对象的功能。 * 使用 eval() 函数将字符串形式的表达式转换为正则表达式。 * 使用 ...
javascript 字符串去掉左右空格, 用正则实现, trim()功能, 简单易用.
在JavaScript中,自定义trim方法是一个简单且直接的过程,主要通过使用字符串的charAt()方法结合while循环或者正则表达式来实现。charAt()方法用于获取字符串中的字符,而正则表达式则可以用来匹配需要被替换或删除...
#### 知识点一:JavaScript中的`trim()`方法 `trim()` 方法用于删除字符串两端的空白字符(包括空格、制表符、换页符等)。此方法不会改变原始字符串,而是返回一个新的字符串。 **语法**: ```javascript string....
在JavaScript中,处理字符串是一个常见的任务,特别是在开发前台应用程序时。用户输入的内容往往包含不必要的空格,这些空格可能出现在字符串的开始、结束或两者都有。为了确保数据的准确性和整洁性,经常需要编写...
在JavaScript中,`trim()`方法主要用于去除字符串首尾的空白字符。此方法在现代浏览器中通常能够很好地工作,但在Internet Explorer(IE)的一些版本中可能存在兼容性问题。这是因为原生的`trim()`方法是在...
在网页交互中,JavaScript通过监听和处理DOM(文档对象模型)事件来实现用户交互,如click、mouseover等。同时,JavaScript可以直接操作DOM元素,添加、删除、修改HTML元素,实现动态网页效果。 7. **异步编程** ...
在标题提到的“JavaScript的URL encode decode源代码,ip验证,TRim”中,我们将探讨这三个关键概念。 1. URL编码与解码: 在JavaScript中,我们经常需要对URL中的特殊字符进行编码,以确保它们在HTTP请求中被正确...
本文将详细介绍如何在JavaScript中去掉字符串两边的空格,并提供几种不同的实现方法。 ### 方法一:使用内置方法 `trim()` JavaScript提供了一个内置方法 `trim()`,可以直接去掉字符串两边的空格。这是最简单且...
- 这种方法是所有实现中最优的一种。 - 当处理较长的字符串时,这种方法的速度优势尤为明显。 - 两个独立的正则表达式触发了JavaScript引擎内部的一些优化机制,如预检查所需字符以及字符串开头锚点优化等。 - **...
JavaScript 技巧大全 JavaScript 是一种广泛应用于 Web 开发中的脚本语言,下面是常用的 JavaScript 案例大全,包括原生 JavaScript 实现字符串长度...这些技巧可以帮助开发者更好地使用 JavaScript 实现各种功能。
javascript 的 trim 函数的实现,去掉字符串的左右空格,由于只使用了String的原生函数,没有使用正则,运算速度极快,是0毫秒级别的,推荐大家使用.