正则表达式

一、常见字符串操作

1、search(“字符”):查找。

返回字符所在位置,若无,则返回-1。

var str = "abcdefg";
str.search("b");  // 1

2、substr(开始索引值,结束索引值):获取子字符串。

返回起始索引之间的字符串,不包括结束索引值对应的字符。若无结束索引,默认到最后。可以为负值,从后往前数。

var str = "abcdefg";
str.substr(1,5);  // bcde

3、charAt(索引值):获取某个字符。

var str = "abcdefg";
str.charAt(3);  // d

4、split(”分隔符”):分割字符串,获得数组。

字符串->数组最基本的方式。

var str = "abc-de-fg";
str.split("-");  // [abc,de,fg]

二、什么是正则表达式

1、什么是“正则”:正则就是一种规则、模式。

2、正则表达式是一个强大的字符串匹配工具。

3、正则表达式书写的两种风格(JS、Perl)

var re = new RegExp("a");  // JS风格
var re = new RegExp("a","i");  // i表示忽略大小写,那字符i怎么办? \\i
var re = /a/;  // perl风格
var re = /a/i;

三、搭配正则表达式的三个方法(search、match、replace)

1、search:找到字符的位置。

使用方法:str.search(“字符”/字符变量);
var str = "abcdefg";
var re = new RegExp("a");  // JS风格
var re = /a/;  // perl风格
str.search(re);  // 0

2、match:把找到的字符串提取出来。

使用方法:待匹配字符串.match(正则表达式),返回数组。
例子:找出字符串中的所有数字。
var str = "asdf 34 656 cvs33";
var re = /\d+/;
str.match(re);  // 34,656,33

// \d:数字0-9
// +:若干(多少都可以)

3、replace:替换字符串,返回替换后的字符串。

使用方法:str.replace(正则表达式,"被替换字符串");
例子:敏感词过滤。

四、元字符(方括号[ ])

1、类型:

[abc]型:或。[ ]中的任意一个都可以。
[a-z]、[0-9]型:范围。
[^a-z]、[^0-9]型:排除。
组合型:[^a-z0-9]——除了英文和数字

2、例子:小说网站

过滤HTML标签:模拟采集器中的一部分。

HTML标签:<除了<>以外的任意字符串>

.(点):任意字符。
\w:英文、数字、下划线:[a-z0-9_]
\s:空白字符
\D:[^0-9]

五、量词——个数

{n}:正好出现n次。例如:\d{8}
{n,m}:最少n次,最多m次。
{n,}:最少n次,最多不限

+:{1,},表示最少1次。
?:{0,1},表示可以有,可以没有。例如固话号码中的区号。
*:{0,},表示所有。

六、实例——校验邮箱

邮箱规则:一串英文、数字、下划线 @ 一串英文、数字 . 一串英文

一串英文、数字、下划线:\w+
@符号:@
一串英文、数字:[a-z0-9]+  
.符号:\.    
一串英文:[a-z]+

JavaScript代码:

var re = /^\w+@[a-z0-9]+\.[a-z]+$/i;
re.test(str);  // 判断str是否符合re标准,符合返回true,否则为false

注意:test方法,只要字符串一部分符合要求,返回true。因此加上^和$符号,表示从头到尾都要满足正则表达式。

^:行首(字符串开头)
$:行尾(字符串结尾)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值