阿牛博客

初探正则在js里面的应用(二)-正则的在js里面的一些具体应用

上一篇《初探正则在js里面的应用(一)-正则是什么?》介绍了正则的基本概念,下面为大家介绍一下正则的一些具体应用:

二、编码风格

js风格:new RegExp(a,i)
perl 风格:/a/i
简单的世界最好,所以推荐perl 风格的书写方式。

三、字符串与正则配合的相关函数

1.介绍一下常用的匹配函数,大概有这么几个:

search(),  match(), test(), replace();

下面为大家一一介绍一下:

1.1.  search();

语法:

stringObject.search(regexp)

参数:

stringObject,必需。要检测的字符串。

regexp 必需。该参数可以是需要在 stringObject 中检索的子串,也可以是需要检索的 RegExp 对象。

下面几个函数参数也差不多是这个两个就不一样重复写了。

search,搜索、查询,顾名思义,通常该函数就是干字符串搜索这件事的;

如:

search()函数:匹配到,返回该规则所在的索引值,否则返回-1;

注意:01.search()对大小写敏感,要是不计大小写,请加上i; 02.search() 方法不执行全局匹配,它总是返回 stringObject 的第一个匹配的位置。如:var re=/a/ig, str =’abcdAef’;alert(str.search(re));  返回的仍是索引值0;

1.2.  match();

语法:

stringObject.match(searchvalue)
stringObject.match(regexp)

这个函数比较常用,一般获取匹配的项目

如:

match() 方法将检索字符串 stringObject,以找到一个或多个与 regexp 匹配的文本,返回的匹配数量和 regexp 是否有 g有关系,如果没有g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。

如:

1.3. test();

语法:
RegExpObject.test(string)
test() 方法用于检测一个字符串是否匹配某个模式.如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。这个函数和其它几个函数有个小区别,就是他的规则是放在函数外面的,其它几个都是放在函数内当参数的,大家写的时候注意一下。

该方法通常用到一些规则的验证上面,比如说表单的邮箱验证啊,一些价格(数字)的检查等等;

如:

1.4.replace();

语法:

stringObject.replace(regexp/substr,replacement)

参数:

replacement 必需。一个字符串值。规定了替换文本或生成替换文本的函数。

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

该方法常用到一些替换操作 如:论坛的敏感词过滤,去除用户输入信息中间的空格等;

举例:

四、正则里面常用一些符号

4.1[]

4.1.1.匹配位于括号内的任意字符
[abc] //”[ab]”: 匹配单个的 a 或者 b ( 和 “a│b” 一样);
如:
o[ab]t –oat obt
“a(bc)*”: 匹配 a 后面跟0个或者一个”bc”;
4.1.2.范围
如[a-z] 、[0-9]
a[0-9] –a0、a5等

如果[]的外面有范围则匹配相应的范围

如:

a[0-9] {0,}–a0454、a575 //匹配{}里面的范围
4.1.3.排除 //匹配不在括号之中的任意字符
如:

[^a] //排除掉字符a

4.2.1 量词

量词就是出现的次数,常跟[]或者()一起配合使用

常用量词

{n,m} 至少出现n次、最多m次
{n,} 至少n次,最多不限
* 任意次{0,}
? 零次或一次{0,1}
{n} 正好n次

当然还有一些符号也可以补充数量,如’*’ , ‘?’,’+’

4.3.1 元字符

‘^’  匹配字符串的开始

$ 匹配字符串的结束

有点多,看下面整的表:

123
(注:点击图片,可放大,移动端可以可两手指任意缩放图片)
待续。

给个赞() 踩一下()

温馨提示:本站文章除注明转载外,均为原创文章,会经常更新知识点以及修正一些错误,因此转载请保留原出处,方便溯源,避免陈旧错误知 识的误导,同时有更好的阅读体验。

本文链接: http://aniublog.com/archives/59

上一篇: 初探正则在js里面的应用(一)-正则是什么? » 下一篇: css3动画介绍之(一) - (CSS3 transform属性) »