JS 正則表達式去除字符串的先後空格字符

在web前端筆試中,老是會遇到這樣的筆試題:前端

  例如: 清除一個字符串的先後的空白的字符web

(一)揮刀準備功夫
正則表達式

正則表達式的基本語法:ide

一、Startspa

正則表達式老是以斜線起始和結束。 /.../debug

2 元字符 :是用於構建正則表達式的符號(用於鏈接字母和數字,建立高度描述性的文本模式)code

1 .       匹配任何字符,換行符除外。
2 \d     匹配任何數字字符。
3 \w     匹配任何字符數字(字母或數字)字符。
4 \s     匹配空格(空格包括空白字符、tab、換行符、return/enter)
5 ^      字符串需以模式起始。
6 $      字符串需以模式結束。
7 |       讓模式指定一連串可供選擇的子模式。
View Code

3 限定符 :控制子模式出現於正則表達式的次數blog

1 *      限定符前的子模式必須出現0或屢次。
2 +      限定符前的子模式必須出現1或屢次。
3 ?      限定符前的子模式必須出現0或1次。
4 {n}    限定符前的子模式必須出現剛好n次。
View Code

4 字符類 以方括號圍起【】字符串

例如:string

//定義正則表達式匹配0-9
var pattern = /[0-9]/;

//定義正則表達式匹配數字0-9及字母a-z
var pattern = /[0-9a-z]/;

 

若是須要轉義的話,注意加上\

 

下面上代碼:

1   function ClearSpace(Str)
2         {
3 
4             var tempStr=Str.replace(/(^\s*)|(\s*)$/g,"");
5             return tempStr;
6         }
7         console.debug((" my name is    hello world! ").length);
8         console.debug(ClearSpace(" my name is    hello world! ").length);
View Code

結果圖以下:

很明顯能夠看到 字符串的長度減小2 由於先後的空格已經被去掉;

解析:

 var tempStr=Str.replace(/(^\s*)|(\s*)$/g,"");

首先調用了JS中String的replace的方法,

這個方法有兩個參數

parm1:要替換的string或者正則表達式

Parm2:替換爲的字符串,

返回值:替換後的字符串;

下面解析一下表達式:

  看到分爲兩部分被「|」:表示先後兩個子模能夠選擇 ,我的人爲能夠理解爲    或   的意思;

(^\s*):^ 上面已經顯示了屬於元字符中的一個 表明字符串需以模式起始。 

    \s     匹配空格(空格包括空白字符、tab、換行符、return/enter) 

右邊的也是一樣的道理,這樣理解就ok了~~~

正則博大精深,還須一步步的走下去哇哇

以上純屬本身菜鳥的心得體會,與你們共勉,喜歡前端的小夥伴們,能夠加我建的一個web前端交流羣,目前就我一個羣主 /(ㄒoㄒ)/~~羣號:437866392

相關文章
相關標籤/搜索