JS:正则表达式的介绍和基本用法(超详细)上

前言:正则表达式是一种复杂类型,在写表单的时候用的居多,本课程主要简单的介绍了JS中正则表达式的介绍和基本用法

目录

创建方法

字面量

内置构造函数

边界符

边界符 ^ - 表示匹配首行的文本(以谁开始)

边界符 $ - 表示匹配行尾的文本(以谁结束)

量词

量词 * - 重复零次 或 多次

量词 + - 重复一次 或 多次

量词 ? - 重复零次 或 一次

量词 {n} - 重复n次

量词 {n,} - 重复n次 或 多次

量词 {n,m} - 重复n次 或 m次

字符类

字符类 \d - 必须包含一位数字(0-9)

字符类 \D - 必须包含一位非数字(a-z)

字符类 \s - 必须包含一位(空格,缩进,换行)

字符类 \S - 必须包含一位非(空格 缩进 换行)

字符类 \w - 必须包含一位(字母 数字 下划线)

字符类 \W - 必须包含一位(字母 数字 下划线)

字符类 . - 任意内容(不包含换行)

字符类 \ - 转义字符


创建方法

如何用正则表达式,我们需要创建正则表达式,才能使用,其中创建方法又分两种——字面量,内置构造函数

字面量

var reg = /abc/ 

// 创建了一个简单的正则表达

内置构造函数

var reg2 = new RegExp("abc")

// 创建了一个正则表达式

边界符

边界符主要用于给正则表达式首个字符或者结尾字符设置规则,两个同时用也可以达到精准匹配的效果

边界符 ^ - 表示匹配首行的文本(以谁开始)

var txt = /^a/

console.log(txt.test("aaaaa")) // 返回 True

console.log(txt.test("baaaa")) // 返回 False

边界符 $ - 表示匹配行尾的文本(以谁结束)

var txt = /a$/

console.log(txt.test("aaaaa")) // 返回 True

console.log(txt.test("aaaab")) // 返回 False

量词

量词 * - 重复零次 或 多次

var txt = /abc*/

console.log(txt.test("ab")) // 返回 True

console.log(txt.test("abccc")) // 返回 True

console.log(txt.test("cab")) // 返回 False

量词 + - 重复一次 或 多次

var txt = /abc+/

console.log(txt.test("ab")) // 返回 False

console.log(txt.test("abc")) // 返回 True

console.log(txt.test("abccc")) // 返回 True

console.log(txt.test("cab")) // 返回 False

量词 ? - 重复零次 或 一次

var txt = /abc?/

console.log(txt.test("ab")) // 返回 True

console.log(txt.test("abc")) // 返回 True

console.log(txt.test("abccc")) // 返回 False

console.log(txt.test("cab")) // 返回 False

量词 {n} - 重复n次

var txt = /^abc{2}$/

// 只有配合边界符的使用才能让{n}只能重复n次,而不在于变成n+x(变量),那是{n,}的活

console.log(txt.test("ab")) // 返回 False

console.log(txt.test("abc")) // 返回 False

console.log(txt.test("abccc")) // 返回 True

量词 {n,} - 重复n次 或 多次

var txt = /abc{2,}/

console.log(txt.test("ab")) // 返回 False

console.log(txt.test("abc")) // 返回 False

console.log(txt.test("abcc")) // 返回 True

console.log(txt.test("abccc")) // 返回 True

console.log(txt.test("abcccccccc")) // 返回 True

量词 {n,m} - 重复n次 或 m次

var txt = /abc{2,3}/

console.log(txt.test("ab")) // 返回 False

console.log(txt.test("abc")) // 返回 False

console.log(txt.test("abcc")) // 返回 True

console.log(txt.test("abccc")) // 返回 True

console.log(txt.test("abcccccccc")) // 返回 False

字符类

字符类 \d - 必须包含一位数字(0-9)

var reg = /\d/
console.log(reg.test("abc")) // 返回False

var reg2 = /\d/
console.log(reg.test("123")) //返回Ture

字符类 \D - 必须包含一位非数字(a-z)

var reg = /\D/
console.log(reg.test("abc")) // 返回Ture

var reg2 = /\D/
console.log(reg.test("123")) // 返回False

var reg3 = /\Dk\D/
console.log(reg2.test("aka")) // 返回Ture

字符类 \s - 必须包含一位(空格,缩进,换行)

var reg = /\s/
console.log(reg.test("12ab 34cd")) // 返回Ture
console.log(reg.test("abc")) // 返回False
console.log(reg.test("abc\n456")) // 返回Ture

字符类 \S - 必须包含一位非(空格 缩进 换行)

var reg = /\S/
console.log(reg.test("12ab   34cd")) // 返回Ture
console.log(reg.test("      ")) // 返回False
console.log(reg.test("\n\n\n")) // 返回False

字符类 \w - 必须包含一位(字母 数字 下划线)

var reg = /\w/
console.log(reg.test("&*")) // 返回False
console.log(reg.test("12abc")) // 返回Ture
console.log(reg.test("a")) // 返回Ture
console.log(reg.test("1")) // 返回Ture
console.log(reg.test("_")) // 返回Ture

var reg2 = /\w\w/
console.log(reg2.test("&*")) // 返回False
console.log(reg2.test("12abc")) // 返回Ture
console.log(reg2.test("a")) // 返回False
console.log(reg2.test("1")) // 返回False
console.log(reg2.test("_")) // 返回False

字符类 \W - 必须包含一位(字母 数字 下划线)

var reg = /\W/
console.log(reg.test("&*")) // 返回True
console.log(reg.test("12abc")) // 返回False
console.log(reg.test("a")) // 返回False
console.log(reg.test("1")) // 返回False
console.log(reg.test("_")) // 返回False

var reg2 = /\W\W/
console.log(reg2.test("&*")) // 返回False
console.log(reg2.test("12abc")) // 返回False
console.log(reg2.test("a")) // 返回False
console.log(reg2.test("1")) // 返回False
console.log(reg2.test("_")) // 返回False

字符类 . - 任意内容(不包含换行)

var reg = /./
console.log(reg.test("%^&*")) // 返回Ture
console.log(reg.test("ba\nck")) // 返回Ture
console.log(reg.test("123")) // 返回Ture
console.log(reg.test("\n\n\n\n\n")) // 返回False

字符类 \ - 转义字符

var reg = /\d\.\d/
console.log(reg.test("1.2")) // 返回Ture
console.log(reg.test("1a2")) // 返回False

  • 41
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黄的学网络

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值