主頁 > 知識庫 > javascript中使用正則表達式刪除前后空格的方法

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

熱門標簽:電子圍欄 團購網(wǎng)站 Linux服務器 阿里云 銀行業(yè)務 科大訊飛語音識別系統(tǒng) Mysql連接數(shù)設置 服務器配置

去掉首位空格

復制代碼 代碼如下:

str=str.replace(/^\s+|\s+$/g,'');

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

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

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

^ 行開始

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

(.*?)

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

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

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

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

\s*匹配字符后面的空格

———————————————————分割線——————————————————–

自定義三個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;istr.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;i–)
{
if(str.charAt(i)!=” “str.charAt(i)!=” “)break;
}
str=str.substring(0,i+1);
return str;
}
function Trim(str)
{
return LTrim(RTrim(str));
}

———————————————————分割線——————————————————–

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

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

您可能感興趣的文章:
  • Javascript 5種方法實現(xiàn)過濾刪除前后所有空格
  • javaScript 刪除字符串空格多種方法小結(jié)
  • javascript中使用正則表達式實現(xiàn)刪除字符串中的前后空格
  • JavaScript trim 實現(xiàn)去除字符串首尾指定字符的簡單方法
  • Javascript中實現(xiàn)trim()函數(shù)的兩種方法
  • javascript trim函數(shù)在IE下不能用的解決方法
  • js 去掉空格實例 Trim() LTrim() RTrim()
  • JavaScript自定義方法實現(xiàn)trim()、Ltrim()、Rtrim()的功能
  • js編寫trim()函數(shù)及正則表達式的運用
  • 用js實現(xiàn)trim()的解決辦法
  • js自定義trim函數(shù)實現(xiàn)刪除兩端空格功能

標簽:衡水 蚌埠 江蘇 廣元 棗莊 衢州 萍鄉(xiāng) 大理

巨人網(wǎng)絡通訊聲明:本文標題《javascript中使用正則表達式刪除前后空格的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266