1.预定义字符集
| 代码 | 说明 |
|---|---|
| . | 匹配除换行符以外的任意字符 |
| \w | 匹配字母或数字或下划线 |
| \s | 匹配任意的空白符 |
| \d | 匹配数字 |
| \b | 匹配单词的开始或结束 |
| ^ | 匹配字符串的开始 |
| $ | 匹配字符串的结束 |
2.备选字符集
规定某一位字符的备选字符列表
特点:必须且只能多选一
[0-9]//一个数字
[a-z]//一个小写字母
[A-Z]//一个大写字母
[0-9a-zA-Z]//一个数字或字母
上天,上海上[天海]
将字符串中的上海,上天两个字符换成**var str ="上海,上天,上哪儿去";var reg =/上[海天]/g;console.log(str.replace(reg,"*"))//输出*,*,上哪儿去
将字符串中的数字换成**var str = "jhfdslfs8289283921";/* [0-9] */var reg = /[0-9]/g;console.log(str.replace(reg,"*"))
3.量词:定字符集出现的次数
3.1 确定数量
{m,n} -->至少m个,最多n个{m,} -->m个以上{m} -->必须m个
3.2 不确定数量
? -->一个或0个+ -->1个以上* -->多个或没有
4.test()方法
test() 方法用于检测正则表达式是否匹配字符串的一部分,返回boolean值
语法reg.test(str); 返回boolean值
var pwd = "12115fdsfsd"; //var reg = /[0-9]{5,7}/; 密码5-7numconsole.log(reg.test(pwd)); //true
5.贪婪模式和懒惰模式
5.1贪婪模式
给量词的情况下 默认取最大值 默认是贪婪的
var str = "2323232hello";var reg = /\d{3,6}/;console.log(str.replace(reg,"*"))输出*2hello
5.2懒惰模式
在量词后用?表示懒惰,取最小值
var str = "2323hello";var reg = /\d{3,6}?/;console.log(str.replace(reg,"*"))输出 *3hello
6.匹配位置
6.1匹配
- ^ 以什么开头
- $ 以什么结尾
- /^\s+|\s+$/g 以空格开头和以空格结尾 相当于trim()
何时使用:仅匹配开头的规则和结尾的规则时使用
6.2.严格匹配
/^ $/严格匹配/ 为严格匹配
tips:只要验证时,必须前加^,后加$!
var str="12344738392"var reg=/^\d{11}$/console.log(reg.test(str)) //true 必须以数字开头和数字结尾并且只有11位
