国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JavaScript > 正文

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

2020-03-22 20:20:05
字體:
來源:轉載
供稿:網友
實例
復制代碼 代碼如下:
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

用jshtml' target='_blank'>正則表達式刪除字符串前后空格
復制代碼 代碼如下:
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 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;
}
};
PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临湘市| 盐源县| 泾阳县| 南皮县| 虹口区| SHOW| 泸定县| 当雄县| 银川市| 比如县| 东兰县| 独山县| 平远县| 梅州市| 台州市| 平泉县| 寿光市| 卢龙县| 罗甸县| 泰宁县| 内江市| 泗洪县| 竹溪县| 忻城县| 开封市| 尉氏县| 溧阳市| 漠河县| 类乌齐县| 达州市| 泾源县| 内江市| 红桥区| 罗定市| 北宁市| 鄄城县| 登封市| 安图县| 娱乐| 曲靖市| 宜城市|