去掉名称中的空格
2018-11-27 本文已影响0人
hellokitty小丸子
接上篇,同级联选择器的背景:
去掉名称中的空格:
1、期望结果:
有这样一种情况,就是我们输入的服务名称可能会有空格存在。名称中间有空格尚可以理解,但是名称前后若有空格或整个名称全为空格其实是毫无意义。本着规范的原则,作为约束者我们应当对此进行规范约束,即:自动去掉名称前后的空格。
2、实现方法:
首先,我们先来分享一个不太尽如人意的方法吧:
把名称字符串以空格为分割符分割成字符串数组,然后将数组中的所有元素放入一个字符串。
3、var str = document.getElementsByName(name)[0].value
(str.split(' ').join('').length === 0)
这个方法虽然看起来满足了要求,但只是表面上的,即:前端的显示是正常的去掉空格后的,但是再进入到编辑状态时前后空格还是存在的,只是显示上做了处理而已。并且,在后台数据库中存放的也是带有空格的,所以说,这种方法不优秀。
前端展示:
![](https://img.haomeiwen.com/i12798308/ea97cef608cfbbce.png)
编辑状态:
![](https://img.haomeiwen.com/i12798308/f40c359a9bb824cb.png)
数据库:
![](https://img.haomeiwen.com/i12798308/e11bdaa7464881d1.png)
接下来,就要分享一个优秀的方法了:
【正则表达式】将前后空格用空字符串替代: str.replace(/(^\s*)|(\s*$)/g, ""),详情参见:https://www.aliyun.com/jiaocheng/1448551.html
var str = document.getElementsByName(name)[0].value
// 将前后字符串用空字符串替代
str = str.replace(/(^\s*)|(\s*$)/g, '')
![](https://img.haomeiwen.com/i12798308/cf143e2b39786431.png)
![](https://img.haomeiwen.com/i12798308/35f9a2df3bcbb036.png)