在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