网站地图    收藏   

主页 > 前端 > javascript >

js正则删除字符串左、右或两端的空格

来源:自学PHP网    时间:2014-09-19 14:47 作者: 阅读:

[导读] 本文章给大家总结关于利用正则表达式来删除字符串中所左边与右边的空格方法,有需要了解的朋友可参考。...

例:输入空格给出提示

 代码如下 复制代码

//验证内容是否包含空格
 function checkTextSpace(obj,temp){
     var reg=/(^s+)|(s+$)/g;
     var alertValue="输入内容包含空格,请出新输入!";
     //temp用来标识内容是否允许存在空格1为可存在0为不存在
     if(temp==1){
         reg=/(^s{5,})|(s{5,}$)|(s{5,})/g;
         alertValue="内容中连续输入空格数超过5个,请重新输入!";
     }
    if(reg.test(obj.value)){
        alert(alertValue);
        obj.focus();
        return false;
    }
 }


其它删除不同位置空格的方法


1.消除字符串左边的空格

 代码如下 复制代码

function leftTrim(str){
return str.replace(/^s*/,"");//^符号表示从开头即左边进行匹配
}
//alert("111"+leftTrim(" aaa ")+"111");//两边的111作为参考,判断空格是否被删除

2.消除字符串右边的空格

 代码如下 复制代码

function rightTrim(str){
return str.replace(/s*$/,"");
}
//alert("111"+rightTrim(" aaa ")+"111");//两边的111作为参考,判断空格是否被删除

3.消除字符串两边的空格

 代码如下 复制代码

function trim(str){
return str.replace(/(^s*)|(s*$)/g,"");
}
//alert("111"+trim(" aaa ")+"111");//两边的111作为参考,判断空格是否被删除

当然为了方便,我们还可以对字符串中的功能进行拓展

 代码如下 复制代码

String.prototype.trim = function(){
return trim(this);
}
var str = " aaa ";
alert("111"+str.trim()+"111");//两边的111作为参考,判断空格是否被删除

完整实例

 代码如下 复制代码

<script type="text/javascript" language="javascript">   
    var s = "   fOo bar ";   
    for(var index = 0; index < s.length; index++){   
        alert(s.charCodeAt(index));   
        alert(s.charAt(index));   
    }   
    //把左边的空格删除   
    function ltrim(s){   
        var flg = 0;   
        var lstr = '';   
        while(s.charCodeAt(flg) == 32 )flg++;   
        alert(flg);   
        for(var index = 0; index < s.length - flg; index++)   
            lstr+= s.charAt(flg+index);   
        return lstr;   
    }   
    //把右边的空格删除   
    function rtrim(s){   
        var flg = 0;   
        var rstr = '';   
        var strLength = s.length;   
        while( s.charAt(strLength-1-flg) == ' ')flg++;   
        for(var index = 0; index < s.length - flg; index++)   
            rstr+= s.charAt(index);   
        return rstr;   
    }   
    //利用正则表达式删除空格   
    function replaceSpace(str){   
        return str.replace(/s/g,'');   
    }   
    //删除所有空格   
    function removeAllSpace(str){   
        var localString = '';   
        for(var index = 0; index<str.length; index++)   
            if(str.charCodeAt(index)!= 32){   
                localString += str.charAt(index);   
            };   
    return localString;   
    }   
</script> 

 


^匹配字符串的开始

$匹配字符串的结束

/s匹配任意空白字符


/(^s+)|(s+$)/g 这个正则就是匹配内容中是否包含空格,不管前后还是中间,都能匹配到

/(^s{5,})|(s{5,}$)|(s{5,})/g 这个正则是我做另一个验证改的,主要是匹配连续输入空格数

s{5,} 这个代表匹配5次或者更多次

s* 这个代表重复0次或者更多次

s+这个代表重复1次或者更多次

s?这个代表重复0次或者1次

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论