正则表达式,可能大家都听说过,但是我们平时在项目中写的可能是比较少的。
但是却又是不可缺少的。在做base64上传的时候,我们需要找到这个变成base64后的图片类型。
创建正则表达式的方式有两种:
// 第一种的方式是使用new运算符,第二种的方式采用字面量的方式。
var box = new RegExp('box', 'ig'); //采用的是new运算符,ig表示忽略大小写和全局匹配。
第二个参数的解释
i===》表示忽略大小写。 g==>表示全局匹配。 m====>多行匹配。更多
使用字面量的方式创建正则表达式。
var box = /box/ig;
console.log(box); // 输出的是 /box/gi
我们通常使用创建字面量的方式来创建正则表达式。
正则表达式,提供了了两个方法;test()和exec()这两个方法,这个两个方法的功能几乎是相似的。
用来检测字符串的匹配。
test()方法用来检测指定的正则表达式。返回一个布尔值,存在返回true,没有返回false.
exec()也用于在字符串中查找指定的正则表达式。如果exec查找成功。返回查找该字符串的相关信息数组。如果查找失败,返回的值是null.
new运算符创建正则表达式
var part = new RegExp('Box');
var str = 'box';
console.log(part.test(str)); //fasle 因为大小写不匹配哈
// 在str中检测有没有包含part正则表达式中所描述的值。
字面量的方式创建正则表达式
var part2 = /hu/i;
var str2 = 'huhu';
console.log(part2.exec(str2));
// 在str2中查找有没有包含hu这样的字符 找到返回相关的信息
//["hu", index: 0, input: "huhu", groups: undefined]
var part2 = /huH/;
var str2 = 'huhu';
console.log(part2.exec(str2));
//没有找到返回的值是 null