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

相关文章
相关标签/搜索