17.09 JS去掉字符串中的所有空格
2017-09-04 本文已影响682人
海野夏桑
去所有空格
嘛,既然说到去掉所有空格,就是一个刷选的活,那么就不废话了,直接上代码!
var str=" 1223 332 ";
console.log(str.length) //控制台输出长度为26
进行一波直接的去空格操作
var str_new = str.replace(/\s/ig,'');
console.log(str_new.length) //控制台输出长度为7
函数 replace() 加上正则表达式刷选即可,
.replace(/\s/ig,'')
直接复制拿去用就可以了。原理?正则表达式呗,有兴趣的可以学一下,终生受用?
———————————————————————————————————
(续)去掉首尾空格
什么?只想去掉前后的空格,中间的不去掉?用这个
.replace(/(^\s)|(\s$)/g,'')
var str=" 1223 332 ";
var str_new = str.replace(/(^\s*)|(\s*$)/g,'');
console.log(str_new.length) //控制台输出长度为17
===========================================================
有同学说要说说原理。。其实就是正则表达式嘛,上文已经说了,拿 str.replace(/\s/ig,'')来说,
1. \s 是匹配任何空白字符,包括空格、制表符、换页符,总之所有空白,用 / / 包起来是正则表达式的一种语法格式,后面的 ig 是 “ignore” && “global” 的合并缩写,表示 “忽略大小写,全文查找”,这里的全文对应的当然是 str 了。repalce(xxx1,xxx2)是原生的js函数,表示 用xxx2替换掉xxx1 ,
2.那么结论很明确了: 查找str中所有空白字符串,用 '' 代替 '' 中没有空格哦