js去除字符串空格,实现trim()方法

本文章地址:http://blog.csdn.net/csdn_yudong/article/details/52371001
本文由 Never_yu 创作,转载请保留出处。


有时候,我们在一个小项目中,或者demo中,或者改以前的代码的时候,需要用到trim()来去除字符串中的空格,但是为了这么一点东西,去引入jQuery,又心有不甘。所以,只得自己来用JavaScript实现这功能。

jQuery实现去除字符串的空格是如此的简单,这里就不做介绍了,本文主要讲解用原生的JavaScript来实现去除字符串中空格的问题。

var T = {
    //去除字符串左空格
    ltrim : function(s) {
        return s.replace(/^(\s*| *)/,'');
    },
    //去除字符串右空格
    rtrim : function(s) {
        return s.replace(/(\s*| *)$/,'');
    },
    //去除字符串左右空格
    trim : function(s) {
        return this.ltrim(this.rtrim(s));
    },
    //去除字符串中所有空格
    trim_all : function(text) {
        text = text.replace(/^\s+/,'');
        for(var i = text.length-1; i>=0; i--)
        {
            if(/\S/.test(text.charAt(i)))
            {
                text = text.substring(0, i + 1);
                break;
            }
        }
        return text;
    }
};

在这里,我们封装了一个变量T,变量里面有4个方法,分别是去除左空格去除右空格去除两端空格去除所有空格

下面写一个demo演示一下,

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>纯js实现的去除字符串空格</title>
    <script>
        window.onload = function(){
            var T = {
                //去除字符串左空格
                ltrim : function(s) {
                    return s.replace(/^(\s*| *)/,'');
                },
                //去除字符串右空格
                rtrim : function(s) {
                    return s.replace(/(\s*| *)$/,'');
                },
                //去除字符串左右空格
                trim : function(s) {
                    return this.ltrim(this.rtrim(s));
                },
                //去除字符串左右空格
                trim_all : function(text) {
                    text = text.replace(/^\s+/,'');
                    for(var i = text.length-1; i>=0; i--)
                    {
                        if(/\S/.test(text.charAt(i)))
                        {
                            text = text.substring(0, i + 1);
                            break;
                        }
                    }
                    return text;
                }
            };

            var username = document.getElementById('username');
            var ltrim = document.getElementById('ltrim');
            var rtrim = document.getElementById('rtrim');
            var trim = document.getElementById('trim');
            var get = document.getElementById('get');
            ltrim.onclick = function(){
                get.innerText = T.ltrim(username.value);
            }
            rtrim.onclick = function(){
                get.innerText = T.rtrim(username.value);
            }
            trim.onclick = function(){
                get.innerText = T.trim_all(username.value);
            }
        }

    </script>
</head>
<body style="padding: 50px;">
    <input type="text" id="username">
    <button id="ltrim">ltrim</button>
    <button id="rtrim">rtrim</button>
    <button id="trim">trim</button>
    <span id="get" style="background-color: #ccc;"></span>
</body>
</html>

在我们的JavaScript中先写上我们的变量T,那么,我们就有了T里面的四个方法了,分别是去除左空格去除右空格去除两端空格去除所有空格

我们希望去除字符串s的所有空格,那么可以这样写:

T.trim_all(s);

当然,在实际中这个字符串s可能来自于某一个变量,或者获取到的某一个值,如本例中的

get.innerText = T.trim_all(username.value);

把去除掉所有空格后的值赋给get



写在最后: 约定优于配置——-软件开发的简约原则.


——————————– (完)————————————–


我的
个人网站:https://neveryu.github.io/guestbook/
Github: https://github.com/Neveryu
新浪微博:http://weibo.com/Neveryu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值