javascript 实现trim的方法

本文介绍了一种在JavaScript中自定义trim函数的方法,该方法能够去除字符串两端的空白字符,包括空格、制表符等,并提供了实际的代码示例及测试用例。

Javascript中没有现成的trim()函数可以使用,可一用下面的自定义函数实现,通过更改正则表达式可一实现更多的功能。
 
//增加一个名为   trim   的函数作为
//   String   构造函数的原型对象的一个方法
String.prototype.trim   =   function()  
  {  
          // 用正则表达式将前后空格  
          // 用空字符串替代。  
          return   this.replace(/(^/s*)|(/s*$)/g,   "");  
  }  

程序分析如下:

首先是把/(^/s*)|(/s*$)/g 替换为""

然后,/.../g 里面的,是表示放置通配符的地方,g代表全局参数
(^/s*)或者(/s*$)都将被替换为""

匹配首尾空白字符的正则表达式:^/s*|/s*$

可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式 

 测试用例:

<html>
    
<head>
        
<title>
            测试JavaScript的trim方法
        
</title>
    
</head>
    
<script>
        
//测试一:测试指定的字符串
        String.prototype.trim= function()  
        
{  
            
// 用正则表达式将前后空格  
            // 用空字符串替代。  
            return this.replace(/(^s*)|(s*$)/g, "");  
        }

        
// 有空格的字符串  
        var s = "    leading and trailing spaces     ";          
        
// 显示 "    leading and trailing spaces     (35)"  
        window.alert(s + " (" + s.length + ")");                  
        
// 删除前后空格  
        s = s.trim();  
        
// 显示"leading and trailing spaces (27)"  
        window.alert(s + " (" + s.length + ")");        
        
        
//测试二:测试用户输入的字符串
        function checkData()
        
{
            String.prototype.trim
= function()  
            
{  
                
// 用正则表达式将前后空格  
                // 用空字符串替代。  
                return this.replace(/(^s*)|(s*$)/g, "");  
            }

            
var source = document.getElementById("source").value;
        
            alert(
"替换前:"+source+" " + "长度:"+source.length);
            source 
= source.trim();
            alert(
"替换后:"+source+" " + "长度:"+source.length);
        }

        
    
</script>

    
<body>
        
<form >
            
<table>
                
<tr>
                    
<td>要测试的字符串</td>
                    
<td>
                        
<input type="text" ID="source" size="33">
                    
</td>
                
</tr>
                
<tr>
                    
<td colspan="2" align="center">
                        
<input type="button" value="测试" onClick="checkData()">
                    
</td>
                
</tr>                        
        
     </table>
        
</form>        
    
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值