js trim() 去掉字符串首尾空格

  通常在表单验证,取输入框文本时都需要把取到的字符串首尾空格去掉。

  现在常用的浏览器版本已经原生支持了trim()方法,JQ很早的版本也实现了对该方法的支持。

  无聊时候可以关心下是怎么实现的,有时笔试面试也会问到,顺便复习下正则。

  

  去掉首尾空格+用正则,无非就是找到首尾匹配到的空格字符,然后把它/他们replace掉。明白大道理,却有条条大路通罗马。

  1.常规方法:正则分别匹配首、尾空格,然后去掉 

1 function trim(str){
2     return str.replace(/^\s\s*/, ‘‘).replace(/\s\s*$/, ‘‘);
3 }

  2.JQ版:这个正则方法的对象是str的全局,相对第一种,要慢一点,但长得好看啊

1 function trim(str){
2     return str.replace(/^\s+|\s+$/g, ‘‘);
3 }

  3.终极版:回归最初的思路,仅仅用正则去掉首部的空格,找到尾部的第一个空格,用substring将其截取,避免用正则去全局查找替换,提高性能

 1 function trim(str){
 2     var str =   str.replace(/^\s+/, ‘‘), i = 0, l = str.length;
 3     for(;i<len,i++){
 4         if(/\s/.test(str.charAt(i))){
 5             str = str.substring(0, i+1);    //或 str.substr(0, i);
 6             break;
 7         }
 8     }
 9     return str;
10 }

  参考书籍:《JavaScript 框架设计》--司徒正美

时间: 2025-01-31 10:03:59

js trim() 去掉字符串首尾空格的相关文章

js中去掉字符串的空格、回车换行

//例如下面这个json串,中间的\n表示换行 var str = "{' retmsg':'success ',\n' trans_date':' 20170906'}"; console.log(str); //"{' retmsg':'success ', //' trans_date':' 20170906'}" //去掉空格 str = str.replace(/\ +/g,""); console.log(str); //"

js去掉字符串前后空格的五种方法(转)

出处:http://www.2cto.com/kf/201204/125943.html 第一种:循环检查替换[javascript]//供使用者调用  function trim(s){  return trimRight(trimLeft(s));  }  //去掉左边的空白  function trimLeft(s){  if(s == null) {  return "";  }  var whitespace = new String(" \t\n\r")

去掉字符串首尾的空格

写一个字符串扩展 #import "NSString+Additions.h" //去掉首尾的空格 判断字符串是否为空 +(BOOL) isEmpty {    return nil == self    || 0 == [[self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length];}//去掉字符串首尾的空格 -(NSString *)trim{    return  [s

C++去掉字符串首尾的 空格 换行 回车

1 /* 2 *去掉字符串首尾的 \x20 \r \n 字符 3 */ 4 void TrimSpace(char* str) 5 { 6 char *start = str - 1; 7 char *end = str; 8 char *p = str; 9 while(*p) 10 { 11 switch(*p) 12 { 13 case ' ': 14 case '\r': 15 case '\n': 16 { 17 if(start + 1==p) 18 start = p; 19 }

去除字符串首尾空格和特殊字符

去除字符串首尾空格和特殊字符 用户在输入数据时,经常会在无意中输入多余的空格,在有些情况下,字符串中不允许出现空格和特殊字符,此时就需要去除字符串中的空格和特殊字符.在PHP中提供了trim()函数去除字符串左右两边的空格和特殊字符.ltrim()函数去除字符串左边的空格和特殊字符.rtrim()函数去除字符串中右边的空格和特殊字符. 1.trim()函数 trim()函数用于去除字符串开始位置以及结束位置的空格,并返回去掉空格后的字符串. 语法格式如下: string trim(string

[py]str list切片-去除字符串首尾空格-递归思想

取出arr的前几项 #方法1 print([arr[0], arr[1]]) #方法2 arr2 = [] for i in range(2): arr2.append(arr[i]) print(arr2) #方法3 -切片 print(arr[:2]) 切片操作 参考 可以操作序列,如str list 取出最后一项 取出第一项 取出前10项 s[:10] 取出后10项 s[-10:] 删除首项 s[1:] 删除最后一项 s[:-1] ## 第一波 arr = [0, 1, 2, 3, 4]

轻松python文本专题-去掉字符串前后空格

场景: 去掉字符串前后空格 可以使用strip,lstrip,rstrip方法 >>> a="abc".center (30) >>> a ' abc ' >>> b=a.lstrip () >>> b 'abc ' >>> c=a.rstrip () >>> c ' abc' >>> d=a.strip () >>> d 'abc' >

ASP.NET C# 去掉字符串中间空格方法

 string strName = "大     张     伟";             string str = Regex.Replace(strName, @"\s", "");             Response.Write("输出内容:" + str); ASP.NET C# 去掉字符串中间空格方法,布布扣,bubuko.com

C++ 去掉字符串首尾的 \x20 \r \n 字符

转载:http://www.sharejs.com/codes/cpp/5780 1 /* 2 去掉字符串首尾的 \x20 \r \n 字符 3 by sincoder 4 */ 5 void clean_string(char *str) 6 { 7 char *start = str - 1; 8 char *end = str; 9 char *p = str; 10 while(*p) 11 { 12 switch(*p) 13 { 14 case ' ': 15 case '\r':