目录
正则表达式基础认知
作用:对用户输入的内容进行校验
它的校验是专注于合法性校验
在正则眼中,所以内容都是字符串
学习正则主要就是学习它的元字符
元字符:就是一些特殊字符,在其它场景下它就是一个普通字符但是在正则中是有特殊含义的字符
正则的常用方法
类型: RegExp(regular express), 在js可以使用 // 简写创建正则表达式对象
test() : 正则表达式 .test(你需要验证的字符串) , 他返回的是一个bool值,如果校验通过返回 true , 反之 false
正则的写法
先占位后修饰
从左到右写
元字符--占位符
占位符是指在这个位置需要一个指定类型的字符
所谓类型:字母,数字,特殊符号,空字
- . : 点,代表任意字符
- \w :代表合法字符: A-Za-z0-9_
- \W :代表非法字符,除了合法的就是非法的
- \d :代表数字 0-9
- \D :代表非数字,除了0-9之外的都是非数字
- \s :代表空字符:空格,制表位,换行...
- \S :代表非空字符
- [] :代表一个具体的范围,用于匹配这个范围中的某个字符
元字符--修饰符
修饰符的作用就是修饰前面的字符所出现的次数
前面的字符默认只关注前面一个占位符
修饰符不能单独存在
{n} :修饰前面的字符出现n次
{n,m} :修饰前面的字符最少出现n次,最多出现m次
{n,} :修饰前面的字符最少出现n次,最多没有限制
? : 修饰前面的字符出现0次或1次
+ :修饰前面的字符最少出现1次,最多没有限制
* :代表前面的字符出现任意次
元字符--其他字符
^ :它**开头
$ :以**结尾,它与"^"的组合一般用于需要严格限制位数的场合
- 在[]中代表连贯的范围
() :可以改变优先级
\ :转义符,将字符当成普通字符来处理
| :代表或者
正则常用的验证
// 验证 邮箱 zhang1216@126.com
// 用户名:至少一个合法字符
// @
// 服务器名称:至少一个合法字符
// .
// 网站类型: 2-3位合法字符 com | cn | org .....
/^\w+[@]\w+[.]\w{2,3}$/
// 验证用户身份证号 18数字 17数字 + x 17数字 +X
// [^0] [1-9] [123456789]
/^[^0]\d{17}$|^[^0]\d{16}[xX]$/
// 验证 座机号码 020 - 12345678
// 区号可以是3或4位,第一个是0
// - 可以有一个或者没有
// 号码是7或8位
/^0\d{2,3}-?\d{7,8}$/