您好,登錄后才能下訂單哦!
本篇文章為大家展示了javascript中怎么利用正則表達(dá)式刪除前后空格,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
去掉首位空格
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)為)
第一:我原來認(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*匹配字符后面的空格
———————————————————分割線——————————————————–
自定義三個(gè)trim()函數(shù)來過濾字符串左右兩邊的空格。
//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;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(“是否確認(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)容就是javascript中怎么利用正則表達(dá)式刪除前后空格,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。