站長資訊網
最全最豐富的資訊網站

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

去掉首位空格

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

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

  String.prototype.trim=function(){  var reSpace=/^s*(.*?)s*$/;  return this.replace(reSpace,”$1″);  };

讓我們分析一下第二行的正則表達式

^ 行開始

s*
匹配字符前面的所有空格,貪婪模式重復

(.*?)

捕獲組,勉強模式重復匹配任意字符,也就是我們最終需要(去掉前后空格后)的字符,這個不是很好理解(我認為)

第一:我原來認為在捕獲組內也應該判斷第一個字符應該不能為空格即寫成([^s+])的形式,但這是完全沒有必要的因為捕獲組前面的s*已經能捕獲開頭的所有的空格字符了,你認為的捕獲組的字符開始范圍與正則表達式匹配的字符范圍是不一樣的,汗~有點說不清楚了,呵呵

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

第三:我們還要不要去關心捕獲組中后面的空格呢?因為捕獲組中的”.”也是可以匹配空格的,先前我也是考慮這個問題大部分時間都浪費在這上面了.其實這和考慮要不要排除捕獲組前面的空格一樣的道理,后面的s*已經給我們處理了

s*匹配字符后面的空格

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

自定義三個trim()函數來過濾字符串左右兩邊的空格。

  //js去除空格函數  //此處為string類添加三個成員  String.prototype.Trim = function(){ return Trim(this);}  String.prototype.LTrim = function(){return LTrim(this);}  String.prototype.RTrim = function(){return RTrim(this);}    //此處為獨立函數  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(“是否確認保存數據?”)){  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;  }  };

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

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
99精品视频99| 91麻豆精品激情在线观看最新| 91精品手机国产免费| 久久久精品视频免费观看| 97视频精品视频人人一二区| 国产精品免费视频观看拍拍| 亚洲日韩精品A∨片无码加勒比| 乱码精品一区二区三区| 日韩在线免费看网站| 国产成人精品免费视频大| 国产精品小视频免费无限app| 日韩电影免费观看| 91精品婷婷国产综合久久| 国产精品男男视频一区二区三区| 2021免费日韩视频网| 精品成人乱色一区二区| 中文精品字幕电影在线播放视频| 青青青国产精品视频| 日本精品不卡视频| 无码日韩人妻AV一区二区三区| 1卡二卡三卡四卡精品| 中文国产成人精品久久一区| 亚洲婷婷国产精品电影人久久| 国产精品99久久99久久久动漫| 亚洲Av无码精品色午夜| 在线视频一区二区日韩国产| 网友偷拍日韩精品| 日韩一本之道一区中文字幕 | 孩交精品xxxx视频视频| 曰产无码久久久久久精品| 97精品人妻系列无码人妻| 国产一区二区三区久久精品| 日韩免费在线观看视频| 日韩久久久久中文字幕人妻| 国产亚洲精品美女久久久久久下载| 精品日产卡一卡二卡国色天香| 97精品久久天干天天蜜| 2021国内精品久久久久精免费| 精品日韩99亚洲的在线发布| 99精品众筹模特私拍在线| 久久精品免费电影|