javascript 去字符串空格終極版(支持utf8)
更新時(shí)間:2009年11月14日 23:55:03 作者:
其實(shí)空格有兩個(gè),一個(gè)ASCII編號(hào)是32,另一個(gè)是ASCII編號(hào)是160.后者是unicode編碼。以前寫一個(gè)貼子ie6下準(zhǔn)確判斷空格還以是IE6不能正確判斷空格。
其實(shí)這個(gè)問題是:如果你的js本身是unicode編碼,那么用正則表達(dá)式\s就可以去掉所有空白,但是如果你js是utf-8編碼,那么正則就不能處理編碼為160的空格了。
下面我先是正則表達(dá)式去掉編碼為32的空格,再用遞歸的方法去掉字符串兩邊的unicode空格。
/** 去字符兩端空格 開始
*@author 敖士偉
*@version v1.0
*@date 2009/11/14 22:51
*/
String.prototype.trim = function() {
var r = this.replace(/(^\s*)|(\s*$)/g, "");
r = Lremoveblank(r);
r = Rremoveblank(r);
return r;
}
function Lremoveblank(s) {
if (s.length == 1 && s.charCodeAt(0) == 160)
return "";
if (s.charCodeAt(0) == 160) {
s = s.substr(1, s.length - 1);
return removeblank(s);
}
else {
return s;
}
}
function Rremoveblank(s) {
if (s.length == 1 && s.charCodeAt(0) == 160)
return "";
if (s.charCodeAt(s.length-1) == 160) {
s = s.substr(0, s.length - 1);
return Rremoveblank(s);
}
else {
return s;
}
}
//--去字符兩端空格 結(jié)束
//e.g.
var a = " a ";
alert("b" + a.trim() + "b");
下面我先是正則表達(dá)式去掉編碼為32的空格,再用遞歸的方法去掉字符串兩邊的unicode空格。
復(fù)制代碼 代碼如下:
/** 去字符兩端空格 開始
*@author 敖士偉
*@version v1.0
*@date 2009/11/14 22:51
*/
String.prototype.trim = function() {
var r = this.replace(/(^\s*)|(\s*$)/g, "");
r = Lremoveblank(r);
r = Rremoveblank(r);
return r;
}
function Lremoveblank(s) {
if (s.length == 1 && s.charCodeAt(0) == 160)
return "";
if (s.charCodeAt(0) == 160) {
s = s.substr(1, s.length - 1);
return removeblank(s);
}
else {
return s;
}
}
function Rremoveblank(s) {
if (s.length == 1 && s.charCodeAt(0) == 160)
return "";
if (s.charCodeAt(s.length-1) == 160) {
s = s.substr(0, s.length - 1);
return Rremoveblank(s);
}
else {
return s;
}
}
//--去字符兩端空格 結(jié)束
//e.g.
var a = " a ";
alert("b" + a.trim() + "b");
您可能感興趣的文章:
- JS去掉字符串前后空格或去掉所有空格的用法
- JS去除字符串中空格的方法
- JS使用正則實(shí)現(xiàn)去掉字符串左右空格的方法
- js去字符串前后空格的實(shí)現(xiàn)方法
- javascript去除字符串左右兩端的空格
- JS去除字符串兩端空格的簡(jiǎn)單實(shí)例
- Js 去掉字符串中的空格(實(shí)現(xiàn)代碼)
- js去空格技巧分別去字符串前后、左右空格
- js去字符串前后空格5種實(shí)現(xiàn)方法及比較
- JavaScript trim 去除字符串空格的三種方法(附代碼詳解)
- JS去除字符串的空格增強(qiáng)版(可以去除中間的空格)
- 如何用javascript去掉字符串里的所有空格
- js 去掉字符串前后空格實(shí)現(xiàn)代碼集合
相關(guān)文章
簡(jiǎn)單談?wù)刼ffsetleft、offsetTop和offsetParent
這篇文章主要給大家介紹了offsetleft、offsetTop和offsetParent的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Ajax請(qǐng)求時(shí)無法重定向的問題解決代碼詳解
這篇文章主要介紹了Ajax請(qǐng)求時(shí)無法重定向的問題解決代碼詳解,當(dāng)使用Ajax請(qǐng)求時(shí),如果后臺(tái)進(jìn)行重定向到其他頁面時(shí)是無法成功的,只能在瀏覽器地址欄輸入才能夠?qū)崿F(xiàn)重定向。下面我們來看看解決方法吧2019-06-06js實(shí)現(xiàn)簡(jiǎn)易購(gòu)物車功能
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)簡(jiǎn)易購(gòu)物車功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10js實(shí)現(xiàn)class樣式的修改、添加及刪除的方法
這篇文章主要介紹了js實(shí)現(xiàn)class樣式的修改、添加及刪除的方法,主要通過修改標(biāo)簽的className來實(shí)現(xiàn)這一功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-01-01純JS打造網(wǎng)頁中checkbox和radio的美化效果
這篇文章主要介紹了純JS打造網(wǎng)頁中checkbox和radio的美化效果,代碼簡(jiǎn)單易懂,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10