正则表达式
正则表达式(Regular Expression)是一种描述字符串规律的表达式,可以迅速地用极简单的方式达到字符串的校验控制。
作用:利用较简短的描述语法完成诸如查找、匹配、替换等功能
如何创建正则表达式:
方法1
直接声明 注意 任何情况下不要加引号
var reg1 = /aa/bb ; //reg不仅有注册的意思 还有正则表达式的意思
方法2:
通过new声明 该放引号就放引号
var reg2 = new RegExp("aa","bb");
参数的解析
第一个参数,用于描述字符串特征,例如以什么开头,以什么结尾,包含什么字符。
第二个参数,用于描述额外的功能,例如是否忽略大小写(i)。是否全局匹配(g) 可以省略。
全局匹配的意思: 一般情况下 匹配到一个就停止了.
例如
var str = "aabbcc";//现在需要将a替换成你 // console.log(str.replace("a","你"));//你abbcc
判断字符串是否包含 ab
// 第一种方法
var reg1 = /ab/;
// 第二种方法
var reg2 = new RegExp('ab');
如何去判断 通过正则表达式的test方法 即可
var str = "你好123abacd";
console.log(reg1.test(str))//true
一般来说都是通过test方法来判断字符串是否符合要求,其中还有一个方法也可以判断但是用的比较少
var reg = /ab/;
console.log(reg.exec('cdab'));
console.log(reg.exec('dcba'));
console.log(reg.exec('Abcd'));
不同的是:返回值。exec返回的是一个数组,如果不匹配返回一个null。
如果匹配就返回出现的下标等。
元字符
上面的写法太过于局限性。a只能代表a,b只能代表b。
元字符是具有特殊含义的字符,例如[a-z]就表示所有小写字母
第一个元字符 . 表示任意字符
例如
var reg = /a./;
var str = "qwerta~";
console.log(reg.test(str));
第二个元字符 ^ 表示以什么开头 必须放在第一个
var reg = /^yyzy/;
var str = "yyzy123";
console.log(reg.test(str));
第三个元字符 $ 表示以什么结尾 必须放在最后第一个
var reg = /yyzy$/;
var str = "yyzy123yyzy";
console.log(reg.test(str));