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

        javascript中使用正則表達(dá)式刪除前后空格的方法

        去掉首位空格

        復(fù)制代碼 代碼如下:
        str=str.replace(/^s+|s+$/g,”);

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

          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)說(shuō)不清楚了,呵呵

        第二:其中?的作用,他的作用就是勉強(qiáng)模式重復(fù)前面的字符,什么意思呢?就是如果我用(.*a)去匹配aaaaaaa字符串的結(jié)果就是(aaaaaaa)源字符串這叫貪婪模式,如果用(.*?a)去匹配aaaaaaa的話他就會(huì)先匹配第一a,然后是第二個(gè)a,然后是第三個(gè)a…….這就叫勉強(qiáng)模式匹配有的地方也叫懶惰模式匹配。通俗一點(diǎn)(大家都喜歡通俗的解釋,呵呵)就是前者是從后往前去匹配盡可能多的字符,而后者是從前往后匹配

        第三:我們還要不要去關(guān)心捕獲組中后面的空格呢?因?yàn)椴东@組中的”.”也是可以匹配空格的,先前我也是考慮這個(gè)問(wèn)題大部分時(shí)間都浪費(fèi)在這上面了.其實(shí)這和考慮要不要排除捕獲組前面的空格一樣的道理,后面的s*已經(jīng)給我們處理了

        s*匹配字符后面的空格

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

        自定義三個(gè)trim()函數(shù)來(lái)過(guò)濾字符串左右兩邊的空格。

          //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

          <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;  }  };

        以上內(nèi)容給大家分享了js正則表達(dá)式刪除前后空格的方法,希望大家喜歡。

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 欧美日韩精品一区二区| 久久99亚洲综合精品首页| 国产精品五月天强力打造| 久久久久国产精品熟女影院| 久久久久亚洲精品无码网址| 久久亚洲精品视频| 精品三级AV无码一区| 亚洲精品成a人在线观看| 国产精品无打码在线播放| 国产精品天天影视久久综合网| 老司机67194精品线观看| 日韩精品免费一线在线观看| 国产精品部在线观看| 久久夜色精品国产亚洲| 国产精品9999久久久久| 日本一卡精品视频免费| 亚洲高清国产拍精品青青草原| 国产在线精品一区二区高清不卡| 欧美韩国精品另类综合| 91麻豆精品国产自产在线观看一区 | 亚洲欧美精品伊人久久| 国产成人精品高清在线观看93| 亚洲国产精品无码久久SM| 亚洲精品无码专区2| 日本精品视频在线观看| 精品成人一区二区三区四区| 国产精品九九久久免费视频 | 亚洲av无码乱码国产精品fc2 | 国产在线观看一区精品| 亚洲精品国产精品乱码不卡| 无码人妻精品一区二区三区久久 | 日韩一区精品视频一区二区| 一区二区国产精品 | 久久国产欧美日韩精品| 欧美精品一区二区蜜臀亚洲| 亚洲精品~无码抽插| 日韩精品人妻系列无码专区| 全球AV集中精品导航福利| 精品少妇人妻av无码久久| 2020国产精品永久在线| 国产精品一区二区不卡|