亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

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

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

    實(shí)例

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

    實(shí)例
    模仿RTrim:

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

    實(shí)例

    代碼以及測(cè)試代碼如下:

    復(fù)制代碼 代碼如下:
    <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,”);
    }
    //以下為測(cè)試代碼
    var trimTest = ” 123456789 “;
    //前后各有一個(gè)空格。
    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>

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

    復(fù)制代碼 代碼如下:
    length:11
    ltrim length:10
    rtrim length:10
    trim length:9

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

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

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

    復(fù)制代碼 代碼如下:
    //js去除空格函數(shù)
    //此處為string類添加三個(gè)成員
    String.prototype.Trim = function(){ return Trim(this);}
    String.prototype.LTrim = function(){return LTrim(this);}
    String.prototype.RTrim = function(){return RTrim(this);}
    //此處為獨(dú)立函數(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

    復(fù)制代碼 代碼如下:
    <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(“是否確認(rèn)保存數(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(“單位名稱或擬申報(bào)等級(jí)不能為空!”);
    }
    }else{
    return false;
    }
    };
    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)