在javascript中處理文本框輸入值的時(shí)候,經(jīng)常要用到"去掉前后空白"的功能。用過jQuery的朋友都知道,jQuery提供了一個(gè)trim()這樣的功能函數(shù),可以很輕松幫我們實(shí)現(xiàn)這樣的效果。但是如果項(xiàng)目沒有用到j(luò)Query等框架的話,js本身又沒有這樣的函數(shù),我們不得不自己寫這樣的函數(shù),下面是函數(shù)的具體實(shí)現(xiàn):
-
- function trim(s){
- return trimRight(trimLeft(s));
- }
-
- function trimLeft(s){
- if(s == null) {
- return "";
- }
- var whitespace = new String(" /t/n/r");
- var str = new String(s);
- if (whitespace.indexOf(str.charAt(0)) != -1) {
- var j=0, i = str.length;
- while (j < i && whitespace.indexOf(str.charAt(j)) != -1){
- j++;
- }
- str = str.substring(j, i);
- }
- return str;
- }
-
- function trimRight(s){
- if(s == null) return "";
- var whitespace = new String(" /t/n/r");
- var str = new String(s);
- if (whitespace.indexOf(str.charAt(str.length-1)) != -1){
- var i = str.length - 1;
- while (i >= 0 && whitespace.indexOf(str.charAt(i)) != -1){
- i--;
- }
- str = str.substring(0, i+1);
- }
- return str;
- }
使用時(shí)只需調(diào)用trim函數(shù)即可。
我們還可以采用更簡(jiǎn)單的方式來達(dá)到相同的效果:
- String.prototype.trim = function() {
- return this.replace(/^/s+|/s+$/g,"");
- }
我們擴(kuò)展了一個(gè)trim方法,以后就可以使用了:
- var str = " hello ";
- str = str.trim();
這樣就可以去掉前后的空格了,很方便。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。