js 正则实现 字符串 trim

今天看了园友 continue;的这篇《 C# TrimStart,TrimEnd,Trim在javascript上的实现》文章,正好前两天也用着了这个功能,用正则写过一个,下午也闲着没事,发个正则版的,菜鸟交流下哈。。 代码仿着这位老兄的写了

 

String.prototype.lTrim = function(s) {
    s = (s ? s : "\\s");                            //没有传入参数的,默认去空格
    s = ("(" + s + ")");
    var reg_lTrim = new RegExp("^" + s + "*", "g");     //拼正则
    return this.replace(reg_lTrim, "");
};

String.prototype.rTrim = function(s) {
    s = (s ? s : "\\s");
    s = ("(" + s + ")");
    var reg_rTrim = new RegExp(s + "*$", "g");
    return this.replace(reg_rTrim, "");
};

String.prototype.trim = function(s) {
    s = (s ? s : "\\s");
    s = ("(" + s + ")");
    var reg_trim = new RegExp("(^" + s + "*)|(" + s + "*$)", "g");
    return this.replace(reg_trim, "");
};

 

 

下面是测试代码

 

    <script src="Scripts/trim.js" type="text/javascript"></script>
    <script type="text/javascript">
        var str1 = "  aaaaa   ", str2 = "aaasdfdsfaaaa", str3 = "asasddddasas";

        document.write("<p>-----空参数测试,多个空格只能在html里显示一个-------</p>");
        document.write(str1 + ".lTrim()=" + "\"" + str1.lTrim() + "\"<br/>");
        document.write(str1 + ".rTrim()=" + "\"" + str1.rTrim() + "\"<br/>");
        document.write(str1 + ".trim()=" + "\"" + str1.trim() + "\"<br/>");
        document.write("<p>-----单字符的测试-------</p>");
        document.write(str2 + ".lTrim('a')=" + "\"" + str2.lTrim("a") + "\"<br/>");
        document.write(str2 + ".rTrim('a')=" + "\"" + str2.rTrim("a") + "\"<br/>");
        document.write(str2 + ".trim('a')=" + "\"" + str2.trim("a") + "\"<br/>");
        document.write("<p>-----多字符的测试-------</p>");
        document.write(str3 + ".lTrim('as')=" + "\"" + str3.lTrim("as") + "\"<br/>");
        document.write(str3 + ".rTrim('as')=" + "\"" + str3.rTrim("as") + "\"<br/>");
        document.write(str3 + ".trim('as')=" + "\"" + str3.trim("as") + "\"<br/>");
    </script>

转载于:https://www.cnblogs.com/clyde/archive/2011/01/15/1936378.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值