站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        javascript中使用正則表達式實現(xiàn)刪除字符串中的前后空格

        實例

        復制代碼 代碼如下:
        <script>
        var str=” yexj00 “;
        str=str.replace(/^s*|s*$/g,”);
        alert(str);
        </script>

        實例
        模仿RTrim:

        復制代碼 代碼如下:
        <script>
        var str=”yexj00 “;
        str=str.replace(/s*$/g,”);
        alert(str);
        </script>

        實例

        代碼以及測試代碼如下:

        復制代碼 代碼如下:
        <script type=”text/javascript”>
        //刪除字符串兩側(cè)的空白字符。
        function trim(str){
        return str.replace(/^s+|s+$/g,”);
        }
        //刪除字符串左側(cè)的空白字符。
        function ltrim(str){
        return str.replace(/^s+/g,”);
        }
        //刪除字符串右側(cè)的空白字符。
        function rtrim(str){
        return str.replace(/s+$/g,”);
        }
        //以下為測試代碼
        var trimTest = ” 123456789 “;
        //前后各有一個空格。
        document.write(‘length:’+trimTest.length+'<br />’);
        //使用前
        document.write(‘ltrim length:’+ltrim(trimTest).length+'<br />’);
        //使用ltrim后
        document.write(‘rtrim length:’+rtrim(trimTest).length+'<br />’);
        //使用rtrim后
        document.write(‘trim length:’+trim(trimTest).length+'<br />’);
        //使用trim后
        </script>

        測試的結(jié)果如下:

        復制代碼 代碼如下:
        length:11
        ltrim length:10
        rtrim length:10
        trim length:9

        用js正則表達式刪除字符串前后空格

        復制代碼 代碼如下:
        String.prototype.trim=function(){
        var reSpace=/^s*(.*?)s*$/;
        return this.replace(reSpace,”$1″);
        };

        讓我們分析一下第二行的正則表達式
        ^ 行開始
        s*
        匹配字符前面的所有空格,貪婪模式重復
        (.*?)
        捕獲組,勉強模式重復匹配任意字符,也就是我們最終需要(去掉前后空格后)的字符,這個不是很好理解(我認為)
        第一:我原來認為在捕獲組內(nèi)也應(yīng)該判斷第一個字符應(yīng)該不能為空格即寫成([^s+])的形式,但這是完全沒有必要的因為捕獲組前面的s*已經(jīng)能捕獲開頭的所有的空格字符了,你認為的捕獲組的字符開始范圍與正則表達式匹配的字符范圍是不一樣的,汗~有點說不清楚了,呵呵
        第二:其中?的作用,他的作用就是勉強模式重復前面的字符,什么意思呢?就是如果我用(.*a)去匹配aaaaaaa字符串的結(jié)果就是(aaaaaaa)源字符串這叫貪婪模式,如果用(.*?a)去匹配aaaaaaa的話他就會先匹配第一a,然后是第二個a,然后是第三個a…….這就叫勉強模式匹配有的地方也叫懶惰模式匹配。通俗一點(大家都喜歡通俗的解釋,呵呵)就是前者是從后往前去匹配盡可能多的字符,而后者是從前往后匹配
        第三:我們還要不要去關(guān)心捕獲組中后面的空格呢?因為捕獲組中的”.”也是可以匹配空格的,先前我也是考慮這個問題大部分時間都浪費在這上面了.其實這和考慮要不要排除捕獲組前面的空格一樣的道理,后面的s*已經(jīng)給我們處理了
        s*匹配字符后面的空格
        ―――――――――――――――――――分割線――――――――――――――――――C
        自定義三個trim()函數(shù)來過濾字符串左右兩邊的空格。

        復制代碼 代碼如下:
        //js去除空格函數(shù)
        //此處為string類添加三個成員
        String.prototype.Trim = function(){ return Trim(this);}
        String.prototype.LTrim = function(){return LTrim(this);}
        String.prototype.RTrim = function(){return RTrim(this);}
        //此處為獨立函數(shù)
        function LTrim(str)
        {
        var i;
        for(i=0;i<str.length;i++)
        {
        if(str.charAt(i)!=” “&&str.charAt(i)!=” “)break;
        }
        str=str.substring(i,str.length);
        return str;
        }
        function RTrim(str)
        {
        var i;
        for(i=str.length-1;i>=0;iC)
        {
        if(str.charAt(i)!=” “&&str.charAt(i)!=” “)break;
        }
        str=str.substring(0,i+1);
        return str;
        }
        function Trim(str)
        {
        return LTrim(RTrim(str));
        }

        ―――――――――――――――――――分割線――――――――――――――――――C

        復制代碼 代碼如下:
        <script type=”text/javascript”>
        function trim(str){ //刪除左右兩端的空格
        return str.replace(/(^s*)|(s*$)/g, “”);
        }
        function ltrim(str){ //刪除左邊的空格
        return str.replace(/(^s*)/g,””);
        }
        function rtrim(str){ //刪除右邊的空格
        return str.replace(/(s*$)/g,””);
        }
        </script>
        function checkSubmit(){
        if(confirm(“是否確認保存數(shù)據(jù)?”)){
        var ab = document.getElementById(“name”).value;
        var dj = document.getElementById(“dj”).value;
        var xy = ab.replace(/(^s*)|(s*$)/g, “”);
        if(xy!=””&&dj!=””){
        document.dwbzjlspb.action = “”;
        document.dwbzjlspb.submit();
        return true;
        }else{
        alert(“單位名稱或擬申報等級不能為空!”);
        }
        }else{
        return false;
        }
        };
        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 2020国产精品永久在线| 欧美日韩精品在线| 极品精品国产超清自在线观看| 亚洲精品国产日韩无码AV永久免费网| 四虎精品成人免费观看| 久久99精品国产自在现线小黄鸭| 精品人妻一区二区三区毛片 | 国产高清国产精品国产专区| 伊人久久精品无码av一区| 国内精品久久久久国产盗摄| 欧美精品国产精品| 国产精品欧美一区二区三区不卡| 国产AV无码专区亚洲精品| 久久久精品2019免费观看| 亚洲精品V欧洲精品V日韩精品 | 99精品国产高清一区二区麻豆 | 中文国产成人精品久久不卡| 精品国产黑色丝袜高跟鞋| 青青青国产精品国产精品久久久久| 国产成人无码久久久精品一| 久久精品国产亚洲AV无码偷窥| 亚洲中文字幕久久精品无码喷水| 久热精品人妻视频| 欧美在线精品一区二区三区| 久久精品国产一区二区电影| 精品人妻少妇嫩草AV无码专区| 精品国产成人在线| 国产在线精品一区二区高清不卡 | 99久久精品九九亚洲精品| 四虎在线精品视频一二区| 亚洲日韩精品欧美一区二区| 欧美精品亚洲精品日韩专区va| 欧美精品亚洲精品日韩1818| 在线观看91精品国产入口| 国产成人精品大尺度在线观看| 国产精品成人久久久久三级午夜电影| 成人国产精品一区二区视频| 国产成人1024精品免费| 精品国产婷婷久久久| 免费人欧美日韩在线精品| 在线亚洲精品自拍|