麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Regex > 正文

javascript中使用正則表達式實現刪除字符串中的前后空格

2020-03-16 21:10:08
字體:
來源:轉載
供稿:網友
在前臺應用進我們經常會碰到要刪除用戶輸入的字符中的空格的問題,下面我們來介紹一下javascript中使用正則表達式實現刪除字符串中的空格方法
 
 
實例 
復制代碼代碼如下:

<script> 
var str=" yexj00 "; 
str=str.replace(/^s*|s*$/g,''); 
alert(str); 
</script> 

實例 
模仿RTrim: 
復制代碼代碼如下:

<script> 
var str="yexj00 "; 
str=str.replace(/s*$/g,''); 
alert(str); 
</script> 

實例 

代碼以及測試代碼如下: 
復制代碼代碼如下:

<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,''); 

//以下為測試代碼 
var trimTest = " 123456789 "; 
//前后各有一個空格。 
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> 

測試的結果如下: 
復制代碼代碼如下:

length:11 
ltrim length:10 
rtrim length:10 
trim length:9 

用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*匹配字符后面的空格 
———————————————————分割線——————————————————– 
自定義三個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;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(“是否確認保存數據?”)){ 
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; 

}; 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲国产精品久久久久久久久久久 | 精品国产乱码久久久久久丨区2区 | 4480午夜 | 色播一区 | 久久久青 | 美女羞羞视频网站 | 国产亚洲精品综合一区91555 | 久草在线手机观看 | 色淫湿视频 | 成人综合免费视频 | 国产精品一区二区手机在线观看 | 性生活视频网站 | 一级大片久久 | 九九精品在线观看 | 久草在线资源观看 | 羞羞草视频 | 欧美成人一区二区三区 | 国产在线精品一区二区三区 | 欧美视屏一区二区 | 在线观看视频日本 | 亚洲精品成人18久久久久 | 国产精品三级a三级三级午夜 | 日本欧美一区二区三区在线观看 | 国产精品一区二区x88av | 91精品国产91久久久久久吃药 | 欧美片一区二区 | 黄色羞羞视频在线观看 | 国产精品久久久久久久久久久久午夜 | 亚洲国产高清自拍 | 国产流白浆高潮在线观看 | 成熟女人特级毛片www免费 | 亚洲成人播放 | 精品国产观看 | 青青草成人影视 | 高清国产午夜精品久久久久久 | 九九热精品在线 | 久久99网| 精品国产96亚洲一区二区三区 | japan护士性xxxⅹhd | 久久国产精品一区 | 九一免费版在线观看 |