正则表达式
介绍
- 正则表达式是什么? 是用于匹配字符串中字符组合的模式
- 正则表达式有什么作用?
表单验证(匹配)
过滤敏感词(替换)
字符串中提取我们想要的部分(提取)
语法
正则表达式语法
let 变量名 = /表达式/
let reg = /abc/
判断是否有符合规则的字符串:
- text方法:用来查看正则表达式与指定的字符串是否匹配
变量名.test(被检测的字符串)
- exec方法:在一个指定字符串中执行一个搜索匹配
变量名.exec(被检测的字符串)
如果匹配成功,exec() 方法返回一个数组,否则返回null
元字符
普通字符:
大多数的字符仅能够描述它们本身,这些字符称作普通字符,例如所有的字母和数字。也就是说普通字符只能够匹配字符串中与它们相同的字符。
- 元字符(特殊字符)
是一些具有特殊含义的字符,可以极大提高了灵活性和强大的匹配功能。比如,规定用户只能输入英文26个英文字母,普通字符的话 abcdefghijklm.....但是换成元字符写法: [a-z]
参考文档:
MDN:developer.mozilla.org/zh-CN/docs/…
正则测试工具: tool.oschina.net/regex
边界符
正则表达式中的边界符(位置符)用来提示字符所处的位置,主要有两个字符
如果 ^ 和 $ 在一起,表示必须是精确匹配。举例:
<script>
let reg = /^abc$/
let re = reg.exec('abc')
let rg = reg.exec('acsdfghjklertykl')
console.log(re, rg);
/^abc$/只能匹配到abc这三个字母,再有其他的是不可以的
</script>
量词符
量词用来 设定某个模式出现的次数
字符类:
[ ] 匹配字符集合
- 后面的字符串只要包含 abc 中任意一个字符,都返回 true 。
- [] 里面加上-连字符
使用连字符 - 表示一个范围
比如:
①[a-z] 表示 a 到 z 26个英文字母都可以
②[a-zA-Z] 表示大小写都可以
③[0-9] 表示 0~9 的数字都可以 - [] 里面加上 ^ 取反符号
比如:
[^a-z] 匹配除了小写字母以外的字符,注意要写到中括号里面 - .点匹配除换行符之外的任何单个字符
- let reg = /^(m|n|l)$/ |竖线代表从这几个值取其中的任意一个
特殊字符一定要用小括号,不要用大括号!!!大括号会把特使字符变成字符串
修饰符
补充:字符串替换 replace 语法:
补充:change事件
内容修改后才会触发,用于input元素
综合案例
疑问点
属性选择器
触发事件和定时器引用函数不用加括号
submit和click事件对比
form对应submit
click对应提交按钮对应的元素
两者实现的功能都是一样的:①提交数据。②跳转页面
触发事件中的函数可以调用到其他地方
next点击事件理解成是一个对象,click是他的一个属性,click后面的那个函数理解成属性值