这是我参与8月更文挑战的第12天,活动详情查看:8月更文挑战
正则表达式的使用非常广泛,尤其是表单校验的时候经常需要用到。很多时候我们虽然用到了正则,但其实并不会写也看不懂,本系列主要总结正则表达式的基本概念及用法,目标是不求会写但求看懂。
前言
正则表达式是匹配模式,要么匹配字符,要么匹配位置。
正则的创建方式
通过字面量(常用)
/正则表达式主体/修饰符(可选)
通过构造函数
在 JavaScript 中,RegExp 对象是一个预定义了属性和方法的正则表达式对象。
new RegExp('正则表达式主体','修饰符(可选)')
二者区别
1、字面量方式中出现的一切都是元字符,不能进行变量值的拼接,实例创建的方式可以;
2、字面量中直接写\d,在实例中需要把它转译\\d;
正则表达式和方法
正则表达式方法
test() 方法
/*
*string:必需。要检测的字符串。
*/
RegExpObject.test(string)
关键词
- 查
- 返回结果
true或者false
var regex = /Axjy/;
regex.test(str);
等价于
/Axjy/.test(str);
test()用于检测一个字符串是否匹配某个模式;如果字符串中含有匹配的文本,则返回 true,否则返回 false;
exec() 方法
/*
*string:必需。要检测的字符串。
*/
RegExpObject.exec(string)
关键词
- 查
- 返回结果
数组或者null
exec()用于检索字符串中的正则表达式的匹配;该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
正则表达式在方法中的使用
正则表达式参数可用在以下方法中替代字符串参数
search() 方法
关键词
- 查
- 返回结果
位置或-1
示例
从0开始算起;
如果没找到,则返回-1
search()用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串;
返回与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置;
replace() 方法
/*
*searchvalue:必需,字符串或正则
*newvalue:必需,字符串
*/
string.replace(searchvalue,newvalue)
关键词
- 改
- 返回新字符串
replace()用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
返回一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。
match() 方法
string.match(regexp)
关键词
- 查
- 返回
数组或null
match()可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
找到返回数组,未找到返回null;
split() 方法
/*
*separator:可选,字符串或正则表达式
*limit: 可选,指定返回的数组的最大长度
*/
string.split(separator,limit)
关键词
- 字符串转数组
split()用于把一个字符串分割成字符串数组,不改变原始字符串;
返回一个字符串数组;
结语
下期预告:小白的正则攻略第二期 | *****
小可爱看完点个赞再走吧!😗