您的位置:首页 > Web前端 > JavaScript

js正则表达式使用

2016-10-14 11:46 246 查看
正则表达式的理解:

正则表达式可以帮助我们更好的描述复杂的文本格式。一旦你描述清楚了这些格式,那你就可以利用它们对文本数据进行检索、替换、提取和修改操作。

在一些输入框和文本提取的时候,正则表达式真的是重要,这次终于是稍微入门了,以前一直没有耐心看。

其实正则表达式的内容也不算很多,我觉得能看懂一些基本就很可以了,一些复杂的正则表达式都可以在网上搜索的到。

要点1:3个重要的正则表达式命令

括号:

[:表示需要匹配的内容

{:需要匹配的数量

(:分组(这个可以自己再深入了解一下)

插入符号:

^:正则表达式的开始

美元符号:

$:正则表达式的结束

实例演示:Email格式

第一步:email开始是长度在1-10的英文字母,最后跟一个"@":^[a-zA-Z0-9]{1,10}@

第二步:@后面是长度在1-10的英文字母,后面跟一个".":[a-zA-Z]{1,10}.

第三步:最后以.com或.org结束:(com|org)$

最终表达式:^[a-zA-Z0-9]{1,10}@[a-zA-Z]{1,10}.(com|org)$

要点2:正则表达式的标记

/i (忽略大小写)
/g (全文查找出现的所有匹配字符)
/m (多行查找)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)

要点3:一些快捷命令

[0-9]:\d

[a-z][0-9][_]:\w

0次或多次发生:*

至少一次发生:+

0次或1次发生:?

要点4:常用的一些方法

test:是否存在,返回值为boolean

exec:查找,返回数组

var reg=/\d/g;
var r=reg.exec('a1b2c3');
console.log(reg.lastIndex); //2
r=reg.exec('a1b2c3');
console.log(reg.lastIndex); //4


search:检索,返回索引下标

match:检索,返回数组和Null(有无标记g:1.无g,执行一次匹配,遇到即止,2.有g,则相反)

简单的测试:

var r='abc'.match(/\w/g);
console.info(r);
结果:



无g:



replace:替换,返回字符串

我们最常用的时传入两个字符串的做法,但这种做法有个缺陷,只能replace一次

console.info('abcabc'.replace('abc','N')); //Nabc

replace方法的第一个参数还可以传入RegExp对象,传入正则表达式可以时replace方法更加强大灵活

console.info('abcabc'.replace(/abc/g,'N')); //NN

split:分割,返回数组和null

我们经常使用split方法把字符串分割为字符数组

console.info('a,b,c'.split(',')); //["a", "b", "c"]

和replace方法类似,在一些复杂的分割情况下我们可以使用正则表达式解决

console.info('a1b2c3d'.split(/\d/)); //["a", "b", "c", "d"]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息