每天一句:梦想不是挂在嘴边炫耀的空气,而是需要认真的实践,等到对的风,我们展翅翱翔;没有风,只要拥有足够强壮的翅膀,我们照样拔地飞行,天空见面。
一、正则表达式基础1
复习字符串操作
search 查找
substring 获取子字符串
charAt 获取某个字符
split 分割字符串,获取数组找出字符串中所有数字
1、用传统字符串操作完成
2、用正则表达式完成
二、正则表达式基础2
什么是正则表达式
1、什么叫"正则" --> 规则、模式
2、强大的字符串匹配工具
3、是一种正常人很难读懂的文字正则表达式(RegExp)
1、js风格 —> new RegExp("a", "b")
2、perl风格 —> /a/i
// 参数1: 检测字符串是否包含'a'
// 参数2: 'i'表示忽略大小写
var re = new RegExp('a');
var re = new RegExp('a','i');
// 简写
var re = /a/;
var re = /a/i;
三、字符串与正则配合
search(搜索) 字符串搜索
1、返回出现的位置(不存在返回-1)
2、忽略大小写: i (ignore)
3、判断浏览器类型match(匹配) 获取匹配的项目
1、量词: + (表多个)
2、量词变化: \d、\d\d、\d+
3、全局匹配: g (global)
(例如: 找出所有数字)replace(替换) 替换所有匹配
1、返回替换后的字符串
(例如: 敏感词过滤)
四、字符类
【在方括号中的,都是单个字符的,不管是里面是什么】
任意字符 [abc]
例如: o[abc] —> oa/ob/oc范围 [a-z]、[0-9]
例如: 班级[0-9] —> 班级1/班级2..班级9排除 [^a] (除了a以外的都可以)
例如: ab[^0-9] — abd/ab?/ab …组合 [a-z0-9A-Z] (字母和数字)
转义字符
1、 .(点) —> 表示任意字符
' . ' 点表示所有字符
' .+ ' 表示许多个任意字符
2、\d —> 表示[0-9],即数字
3、\D —> 表示[^0-9],即除了数字
4、\w —> 表示[a-zA-Z0-9_],即数字字母下划线
5、\W —> 表示[^a-zA-Z0-9_],即除了数字字母下划线
6、\s —> 表示空白空格制表符
7、\S —> 除了空格以外的
【如果就是需要输入点这个字符,请进行转义 “.” 】
案例: 将小说转换过来
rel = /<[^<>]+>/g; str.replace(rel, ‘’);
五、量词
什么是量词
1、出现的次数
2、{n,m}至少出现n次,最多m次
例如: 查找QQ号常用量词
1、{n,} 至少n次
2、* 任意次(可以出现也可以不出现,不建议使用 {0,}
3、? 零次或一次 {0,1}
4、+ 一次或任意次 {1,}
5、{n} 正好n次
六、高级表单校验
- 校验邮箱
1、行首行尾 (^行首,$行尾,一般的校验都需要加上这,避免只有一部分符合规则)
/^\w+@[0-9a-z]+\.[a-z]{2,4}$/
2、去掉空格
^\s*|\s*$
- 匹配中文: [\u4e00-\u9fa5]