--------------------------------------------------------------------------------
复习字符串的操作
indexOf 查找
substring 获取子字符串
charAt 获取某个字符
split 分割字符串,获得数组

找出字符串中的所有数字
用传统字符串操作完成
用正则表达式完成
--------------------------------------------------------------------------------

正则表达式入门--xyphf_正则

--------------------------------------------------------------------------------
正则表达式
什么是正则表达式
什么叫"正则"
-规则、模式
-强大的字符串匹配工具

正则的写法
-new RegExp("a");
-/a/
--------------------------------------------------------------------------------

正则表达式入门--xyphf_正则_02

正则表达式入门--xyphf_正则_03

正则表达式入门--xyphf_正则_04

正则表达式入门--xyphf_字符串_05

--------------------------------------------------------------------------------
正则表达式的常用方法
test
字符串判断
- 返回真假
- 正则.test(字符串)
- 例子:是否有不是数字的字符

search
- 返回出现的位置
- 字符串.serrch(正则)
-:
--------------------------------------------------------------------------------

正则表达式入门--xyphf_正则_06

正则表达式入门--xyphf_正则_07

--------------------------------------------------------------------------------
match
获取匹配的项目
- 返回数组
-: -:g--global -:找出所有数字

--------------------------------------------------------------------------------

正则表达式入门--xyphf_字符串_08

--------------------------------------------------------------------------------
replace
替换所有匹配
- 返回替换后的字符串
-:replace(正则,想替换的)
- 例子:敏感词过滤

- 匹配子项
- 例子:日期格式化

--------------------------------------------------------------------------------

正则表达式入门--xyphf_正则表达式_09

正则表达式入门--xyphf_正则表达式_10

正则表达式入门--xyphf_正则_11

正则表达式入门--xyphf_正则_12

--------------------------------------------------------------------------------
正则表达式字符类
任意字符
[abc]
-:o[usb]t--obt、ost、out
范围
[a-z]、[0-9]
-:id[0-9]--id0、id5
排除
[^a]
-:o[^0-9]t--oat、o?t、ot
--------------------------------------------------------------------------------

正则表达式入门--xyphf_正则表达式_13

正则表达式入门--xyphf_正则表达式_14

--------------------------------------------------------------------------------
转义字符
转义字符
.(点)--任意字符
\d、\w、\s、\b
\D、\W、\S、\B
\1 重复子项
例子
- 获取class元素
- 找重复项最多的字符和个数

--------------------------------------------------------------------------------

正则表达式入门--xyphf_正则_15

正则表达式入门--xyphf_正则_16

正则表达式入门--xyphf_字符串_17

--------------------------------------------------------------------------------
什么是量词
出现的次数
{n,m},至少出现n次,最多m次
例子:查找QQ号

常用量词
{n,} 至少n次
* 任意次 {0,}
? 零次或一次 {0,1}
+ 一次或任意次 {1,}
{n} 正好n次
--------------------------------------------------------------------------------

正则表达式入门--xyphf_正则表达式_18

--------------------------------------------------------------------------------
常用正则例子
高级表单校验
匹配中文:[\u4e00-\u9fa5]
行首行尾空:^\s*|\s*$
Email:^\w+@[a-z0-9]+(\.[a-z]+){1,3}$
网址:[a-zA-z]+://[^\s]*
QQ号:[1-9][0-9]{4,9}
邮政编码:[1-9]\d{5}
身份证:[1-9]\d{14}|[1-9]\d{17}|{1-9}\d{16}X
--------------------------------------------------------------------------------

正则表达式入门--xyphf_正则表达式_19

--------------------------------------------------------------------------------
正则与面向对象
把方法包在一个空间里
有人管他叫--命名空间
在公司里,把同一类方法,包在一起
JSON的使用
把之前的方法,包在一起

var re = {
qq : /[1-9][0-9]{4,9}/,
email : /^\w+@[a-z0-9]+(\.[a-z]+){1,3}$/,
number : /\d+/
};

用的时候,直接调用
如: re.email 这样更方便一些
--------------------------------------------------------------------------------

正则表达式入门--xyphf_正则表达式_20

正则表达式入门--xyphf_正则表达式_21

​案例源码分享链接​​​
密码:EuOT