JavaScript去除字符串兩端空格的三種方法
更新時間:2023年03月16日 08:56:49 作者:廢喵之王
本文主要介紹了JavaScript去除字符串兩端空格的三種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
本文主要介紹了JavaScript去除字符串兩端空格的三種方法,具體如下:
//方法一:正則表達式 function _trim(string) { ? ? // 補全代碼 ? ? var reg=/^\s*|\s*$/g; ? ? //使用正則表達式,\s為空格,^\s為開頭的空格,*代表0個或多個,\s*$為結尾的零個或多個空格 ? ? string=string.replace(reg,''); ? ? return string; ? ? ? ? //return string.replace(/^\s*|\s*$/g,''); ? ? //return string.replace(/^\s|\s$/g,'');也能通過測試,*有沒有,有幾個都沒有影響 } ? //方法二:trim函數(shù):除去字符串開頭和末尾的空格 function _trim(string) { ? ? return string.trim(); } ? //還有方法三:(法三屬實是沒想到,看別人的) let arr = string.split(''); ? ? let num = arr.indexOf(' '); ? ? // 先去除首端空格 ? ? while (num === 0) { ? ? ? ? arr.splice(num, 1); // 這里可用 arr.shift() ? ? ? ? num = arr.indexOf(' '); // 刪除后,重新賦值,再判斷 ? ? } ? ? // 第二步去除尾端空格 ? ? let numRev = arr.indexOf(' ', -1); // -1,從最后一個數(shù)字開始查找,順序從前往后 ? ? while (numRev === arr.length - 1) { ? ? ? ? arr.splice(arr.length - 1, 1) // arr.length - 1,最后一項的索引,可換 arr.pop() ? ? ? ? numRev = arr.indexOf(' ', -1); // 刪除后,重新賦值,再判斷 ? ? } ? ? return string = arr.join('');
JavaScript 去除字符串中的空格(五種方式,總有一種適合你)
方法1:(最常用)全部去除掉空格
?var str = ' ?abc d e f ?g '; ? ? ? ? function trim(str) { ? ? ? ? ? ? var reg = /\s+/g; ? ? ? ? ? ? if (typeof str === 'string') { ? ? ? ? ? ? ? ? var trimStr = str.replace(reg,''); ? ? ? ? ? ? } ? ? ? ? ? ? console.log(trimStr) ? ? ? ? } ? ? ? ? trim(str)
方法二:(強烈推薦)全部去除
function trimAll(ele){ ? ? if(typeof ele === 'string'){ ? ? ? ?return ele.split(' ').join(''); ? ? ? ? ? ? ? ? }else{ ? ? ? ? console.error(`${typeof ele} is not the expected type, but the string type is expected`) ? ? } ?? } trimAll(str) ?// 1234456
方法三:指定位置清楚空格(第二個參數(shù)控制位置)
function deleSpac(str,direction) { // 1 串的模板 2 清除哪邊空格 ? ? ? ? ? ? if(typeof str !== 'string'){ // 限制下條件,必須是字符串 ? ? ? ? ? ? ? ? ?console.error(`${typeof ele} is not the expected type, but the string type is expected`) ? ? ? ? ? ? ? ? return false ? ? ? ? ? ? } ? ? ? ? ? ? let Reg = ''; ? ? ? ? ? ? switch(direction) { ? ? ? ? ? ? ? ? case 'left' : // 去除左邊 ? ? ? ? ? ? ? ? ? ? Reg = /^[\s]+/g; ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case 'right' : // 去除右邊 ? ? ? ? ? ? ? ? ? ? Reg = /([\s]*)$/g; ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case 'both' : // 去除兩邊 ? ? ? ? ? ? ? ? ? ? Reg = /(^\s*)|(\s*$)/g ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? default : ? // 沒傳默認全部,且為下去除中間空格做鋪墊 ? ? ? ? ? ? ? ? ? ? Reg = /[\s]+/g; ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? ? ? let newStr = str.replace(Reg,''); ? ? ? ? ? ? if ( direction == 'middle' ){ ? ? ? ? ? ? ? ? let RegLeft = str.match(/(^\s*)/g)[0]; // 保存右邊空格 ? ? ? ? ? ? ? ? let RegRight = str.match(/(\s*$)/g)[0]; // 保存左邊空格 ? ? ? ? ? ? ? ? newStr = RegLeft + newStr + RegRight; // 將空格加給清完全部空格后的字符串 ? ? ? ? ? ? } ? ? ? ? ? ? return newStr; ? ? ? ? }
方法四:也可制定位置參數(shù)
function delSpace (str, pos) { ? let reg = /\s+/g ? switch (pos) { ? ? case 'l': ? ? ? reg = /^\s+/g ? ? ? break ? ? case 'r': ? ? ? reg = /\s+$/g ? ? ? break ? ? case 'c': ? ? ? reg = /(?<=\w)\s+(?=\w)/g ? ? ? break ? ? case 'lr': ? ? ? reg = /(^\s+)|(\s+$)/g ? ? ? break ? ? case 'a': ? ? ? reg = /\s+/g ? ? ? break ? } ? ? return str.replace(reg, '') }
方法五:與方法四類似,不過采用了原生的語法
function trim(str, pos) { ? ? let ret = str ? ? switch(pos) { ? ? ? ? case 'l': ? ? ? ? ? ? ret = str.trimStart() ? ? ? ? ? ? break ? ? ? ? case 'r': ? ? ? ? ? ? ret = str.trimEnd() ? ? ? ? ? ? break ? ? ? ? case 'lr': ? ? ? ? ? ? ret = str.trimStart().trimEnd() ? ? ? ? ? ? break ? ? ? ? case 'm': ? ? ? ? ? ? ret = str.replace(/(?<=[^\s])\s*(?=[^\s])/g, '') ? ? ? ? ? ? break ? ? ? ? default: ? ? ? ? ? ? ret = str.replace(/\s/g,'') ? ? } ? ? return ret }
到此這篇關于JavaScript去除字符串兩端空格的三種方法的文章就介紹到這了,更多相關JavaScript去除字符串兩端空格內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JavaScript使用Promise實現(xiàn)分批處理接口請求
當我們在實際項目中遇到需要批量發(fā)起上百條接口請求怎么辦呢,本文就來為大家介紹一下JavaScript如何使用Promise實現(xiàn)分批處理接口請求,需要的小伙伴可以參考一下2023-11-11JS+CSS實現(xiàn)超漂亮的動態(tài)翻書效果(思路詳解)
我們平常沖浪時是不是看過一些學校高級的錄取通知書,翻開通知書就能看見里面的內(nèi)容,呈現(xiàn)出逼真的3D效果,本文帶領大家基于JS+CSS實現(xiàn)超漂亮的動態(tài)翻書效果,需要的朋友可以參考下2023-05-05JavaScript函數(shù)執(zhí)行、作用域鏈以及內(nèi)存管理詳解
這篇文章主要介紹了JavaScript函數(shù)執(zhí)行、作用域鏈以及內(nèi)存管理的知識,文章內(nèi)容非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-01-01