正则表达式
用来匹配字符串中的一些内容
使用场景
基本用于注册页面,用户审核和约束用户输入的信息
创建与使用
1.new 关键字
var box=new RegExp(/表达式/);
2.字面量创建var box=/表达式/;
检测方式
正则对象.test(需要审核的字符串)
返回一个布尔类型的值
简单类
var reg=/abc/
表示匹配的字符串需要含有abc字符
代码:
显示效果:
不带有
[]
表示是一个整体,需要完全匹配
带有[]
表示有其中任意一个即可匹配
代码:
显示效果:
反向类
var reg=/[^abc]/
表示匹配含有除了abc外的任意字符
代码:
显示效果:
范围类
1.小写字符范围 var reg=/[a-z]/
表示匹配含有a-z的任意字符
2.大写字符范围 var reg=/[A-Z]/
表示匹配含有A-Z任意字符
3.数字范围 var reg=/[0-9]/
表示匹配含有0-9任意数字
4.混合范围 /[a-zA-Z0-9]/
代码:
显示效果:
预定义类
1..
匹配换行符以外的任意字符
2.\w
匹配单词字符(数字字母下划线[a-zA-Z0-9_])
3.\W
匹配非单词字符[a-zA-Z0-9_)
4.\d
匹配所有数字
5.\D
匹配所有非数字
6.\s
匹配任意空白字符
7.\S
匹配任意非空白字符
8.\b
匹配是否到了单词的边界(开始或结束)
9\D\
匹配是否没到单词的边界(开始或结束)
字符转义
在符号前加/
,将符号自带的其它含义去掉,只使用符号本身
或
/a|b/
等同于/[ab]/
代码:
显示效果:
^
匹配字符串的开头
代码:
显示效果:
$
写在正则的最后面,表示以此为结尾
代码:
显示效果:
^和$同时使用时,表示严格模式,只能有这些内容
代码:
显示效果:
量词
1.量词只有一个时,表示最少位数
使用严格模式时,不再是最少位数,而是指定位数
代码:
显示效果:
2.量词有两个时,表示包含指定范围的数字
使用严格模式时,表示一个指定范围
match() 提取符合正则的内容
代码:
显示效果:
正则常见的修饰符
1.+ 匹配1个到多个
代码:
显示效果:
2.* 匹配0个到多个
3.? 匹配0个到1个
匹配模式
1.g-global 全局匹配
2.i-ignoreCase 忽略大小写
replace() 将指定内容替换
代码:
显示效果:
屏蔽关键词
代码:
显示效果: