在web前端筆試中,老是會遇到這樣的筆試題:前端
例如: 清除一個字符串的先後的空白的字符web
(一)揮刀準備功夫
正則表達式
正則表達式的基本語法:ide
一、Startspa
正則表達式老是以斜線起始和結束。 /.../debug
2 元字符 :是用於構建正則表達式的符號(用於鏈接字母和數字,建立高度描述性的文本模式)code
1 . 匹配任何字符,換行符除外。 2 \d 匹配任何數字字符。 3 \w 匹配任何字符數字(字母或數字)字符。 4 \s 匹配空格(空格包括空白字符、tab、換行符、return/enter) 5 ^ 字符串需以模式起始。 6 $ 字符串需以模式結束。 7 | 讓模式指定一連串可供選擇的子模式。
3 限定符 :控制子模式出現於正則表達式的次數blog
1 * 限定符前的子模式必須出現0或屢次。 2 + 限定符前的子模式必須出現1或屢次。 3 ? 限定符前的子模式必須出現0或1次。 4 {n} 限定符前的子模式必須出現剛好n次。
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);
結果圖以下:
很明顯能夠看到 字符串的長度減小2 由於先後的空格已經被去掉;
解析:
var tempStr=Str.replace(/(^\s*)|(\s*)$/g,"");
首先調用了JS中String的replace的方法,
這個方法有兩個參數
parm1:要替換的string或者正則表達式
Parm2:替換爲的字符串,
返回值:替換後的字符串;
下面解析一下表達式:
看到分爲兩部分被「|」:表示先後兩個子模能夠選擇 ,我的人爲能夠理解爲 或 的意思;
(^\s*):^ 上面已經顯示了屬於元字符中的一個 表明字符串需以模式起始。
\s 匹配空格(空格包括空白字符、tab、換行符、return/enter)
右邊的也是一樣的道理,這樣理解就ok了~~~
正則博大精深,還須一步步的走下去哇哇
以上純屬本身菜鳥的心得體會,與你們共勉,喜歡前端的小夥伴們,能夠加我建的一個web前端交流羣,目前就我一個羣主 /(ㄒoㄒ)/~~羣號:437866392