去除字符串左右两端的空格,在大部分编程语言中,比如PHP、vbscript里面可以轻松地使用 trim、ltrim 或 rtrim实现。但在js中却没有这3个内置方法,需要手工编写。下面的实现方法是用到了正则表达式,效率不错,并把这三个方法加入String对象的内置方法中去。
写成类的方法格式如下:(str.trim();)
01 |
<script language="javascript"> |
02 |
String.prototype.trim=function(){ |
03 |
return this.replace(/(^\s*)|(\s*$)/g, ""); |
05 |
String.prototype.ltrim=function(){ |
06 |
return this.replace(/(^\s*)/g,""); |
08 |
String.prototype.rtrim=function(){ |
09 |
return this.replace(/(\s*$)/g,""); |
写成函数可以这样:(trim(str))
01 |
<script type="text/javascript"> |
02 |
function trim(str){ //删除左右两端的空格 |
03 |
return str.replace(/(^\s*)|(\s*$)/g, ""); |
05 |
function ltrim(str){ //删除左边的空格 |
06 |
return str.replace(/(^\s*)/g,""); |
08 |
function rtrim(str){ //删除右边的空格 |
09 |
return str.replace(/(\s*$)/g,""); |
这是lgzx公司的一道面试题,要求给js的String添加一个方法,去除字符串两边的空白字符(包括空格、制表符、换页符等)。
1 |
String.prototype.trim = function() { |
2 |
//return this.replace(/[(^\s+)(\s+$)]/g,"");//會把字符串中間的空白符也去掉 |
3 |
//return this.replace(/^\s+|\s+$/g,""); // |
4 |
return this.replace(/^\s+/g,"").replace(/\s+$/g,""); |
JQuery1.4.2,Mootools 使用
2 |
return str.replace(/^(\s|\xA0)+|(\s|\xA0)+$/g, ''); |
jQuery1.4.3,Prototype 使用,该方式去掉g以稍稍提高性能 在小规模的处理字符串时性能较好
2 |
return str.replace(/^(\s|\u00A0)+/,'').replace(/(\s|\u00A0)+$/,''); |
Steven Levithan 在进行性能测试后提出了在JS中执行速度最快的裁剪字符串方式,在处理长字符串时性能较好
02 |
str = str.replace(/^(\s|\u00A0)+/,''); |
03 |
for(var i=str.length-1; i>=0; i--){ |
04 |
if(/\S/.test(str.charAt(i))){ |
05 |
str = str.substring(0, i+1); |
最后需要提到的是 ECMA-262(V5) 中给String添加了原生的trim方法(15.5.4.20)。此外Molliza Gecko 1.9.1引擎中还给String添加了trimLeft ,trimRight 方法。
- javascript消除字符串两边空格的两种方式,面向对象和函数式编程。python oop在调用时候的优点
主要是javascript中消除字符串空格,比较两种方式的不同 //面向对象,消除字符串两边空格 String.prototype.trim = function() { return this.re ...
- js中去除字符串两边的空格
在提交表单的时候会需要去除字符串两边的空格,代码如下: /*去除字符串两边空格*/ String.prototype.trim = function() { return this.replace(/ ...
- javascript去除字符串中的空格
使用JavaScript去除字符串的空格,可以有两种方法,一种是使用replace()方法将空格(空白符)替换为空串,一种就是使用trim()方法去除字符串两端的空白字符. replace()方法 r ...
- js 去除字符串两边的空格
js 去除字符串两边的空格 function trim(str){ //删除左右两端的空格 return str.replace(/(^\s*)|(\s*$)/g, "&q ...
- trim()方法去除字符串首尾空格
trim()方法去除字符串首尾空格 1.原生js Function trimStr(str){ Return str.r ...
- 正则表达式去除字符串左右空格函数 调用方法是,str.Trim();
正则表达式去除字符串左右空格函数 调用方法是,str.Trim(); String.prototype.Trim = function() { return this.replace(/(^\s*)| ...
- SQL TRIM()函数去除字符串头尾空格
SQL TRIM()函数去除字符串头尾空格 SQL 中的 TRIM 函数是用来移除掉一个字串中的字头或字尾.最常见的用途是移除字首或字尾的空白.这个函数在不同的资料库中有不同的名称: MySQL: T ...
- [py]str list切片-去除字符串首尾空格-递归思想
取出arr的前几项 #方法1 print([arr[0], arr[1]]) #方法2 arr2 = [] for i in range(2): arr2.append(arr[i]) print(a ...
- Golang去除字符串前后空格
Golang去除字符串前后空格 实现Demo package main import "fmt" func DeletePreAndSufSpace(str string) str ...
随机推荐
- SQL题
1.取出sql表中第31到40的记录(以自动增长ID为主键) sql server方案: select top 10 * from t where id not in (select top 30 i ...
- HDU 5877 Weak Pair (2016年大连网络赛 J dfs+反向思维)
正难则反的思想还是不能灵活应用啊 题意:给你n个点,每个点有一个权值,接着是n-1有向条边形成一颗有根树,问你有多少对点的权值乘积小于等于给定的值k,其中这对点必须是孩子节点与祖先的关系 我们反向思考 ...
- Angular各版本和组件下载
Angular各版本和组件下载:https://code.angularjs.org/
- RocketMQ原理讲解系列文章
[RocketMQ原理解析][http://blog.csdn.net/quhongwei_zhanqiu/article/category/2548637] [消息的可靠性.顺序和重复][https ...
- CLR事件与路由事件在XAML代码中应用时的区别
<Window x:Class="Demo_window.Window2"xmlns="http://schemas.microsoft.com/winfx/200 ...
- Java map简介
了解最常用的集合类型之一 Map 的基础知识以及如何针对您应用程序特有的数据优化 Map. 本文相关下载: · Jack 的 HashMap 测试· Oracle JDeveloper 10g jav ...
- ElasticSearch聚合分析API——非常详细,如果要全面了解的话,最好看这个
转自:http://www.tianyiqingci.com/2016/04/11/esaggsapi/ 前言 说完了ES的索引与检索,接着再介绍一个ES高级功能API – 聚合(Aggregatio ...
- fatal: Could not read from remote repository.
fatal: Could not read from remote repository. Please make sure you have the correct access rightsand ...
- LeetCode OJ:Combination Sum III(组合之和III)
Find all possible combinations of k numbers that add up to a number n, given that only numbers from ...
- LeetCode OJ:Minimum Size Subarray Sum(最小子数组的和)
Given an array of n positive integers and a positive integer s, find the minimal length of a subarra ...