正则表达式

一、定义:是js提供的一个语法

二、作用:处理字符集

三、3种处理(正则表达式的作用):

1、验证字符串:是不是纯数字,字母开头,字符串的规则

正则.test(字符串) - 布尔值

字符串.search(正则) - 下标或-1

2、提取字符串:从一个很长的字符串中,获取到其中满足规则的一段

正则.exec(字符串) - 数组,数组的下标0,就是提取出来的小字符串

字符串.match(正则) - 数组,数组的下标0,就是提取出来的小字符串

3、替换字符串:

字符串.replace(正则,新的内容)

四、正则表达式的创建

直接定义

语法:/正则表达式主体(规则)/

构造函数定义方式: - new 构造函数

五、正则表达式的组成

1、普通字符

    var str = 'asdwtayfgdyfwyasudgyuw';     var reg = /as/     var arr = str.match(reg)     console.log(arr)

2、特殊字符(正则表达式中有特殊意义的字符)

字符

含义

\d

代表任意一个数字

\w

代表任意一个字母、数字、下划线

.

代表任意一个字符

\s

代表一空格 === ' '

[a-z]

代表任意一个小写字母

[A-Z]

代表任意一个大写字母

[a-zA-Z]

代表任意一个字母

[0-9a-zA-Z]

代表任意一个数字或字母

[369]

代表其中的任意一个

\D

代表任意一个非数字

\W

代表任意一个非数字、字母、下划线

\S

代表非空格

3、字符的修饰符

用来修饰字符 - 出现多少次、开头、结尾...

+

代表前面的字符,最少是1个

?

修饰前面的字符,最多1个

*

修饰前面的字符,是任意个

{n}

前面的字符必须是n个

{n,}

前面修饰的字符最少要n个

{n,m}

前面修饰的字符最少要n个,最多要m个

^

必须放在所有字符的最前面,修饰规则是以哪个字符开头

$

必须放在所有字符的最末尾,修饰规则是以哪个字符结尾

4、补充

匹配汉字:[\u4e00-\u9fa5] 代表任意一个汉字

g - 全局模式,贪婪模式 - 寻找字符串中所有符合规则的内容

i - 忽略大小写(可以和g一起使用,也可以单独使用)

gi - 全局模式+忽略大小写

练习:

    //手机号检测     // var reg = /^1[3-9]\d{9}$/;     // var str = '15345611232'     // var bool = reg.test(str)     // console.log(bool)               //QQ号码检测     // var reg = /^[1-9]{4,9}$/     // var str = '12898'     // var n = reg.test(str)     // console.log(n)               //QQ邮箱检测     // var reg = /^[1-9]{4,9}@qq\.com$/     // var str = '123456@qq.com'     // var n = reg.test(str)     // console.log(n)     //网易邮箱检测     // var reg = /^[a-zA-Z]\w{5,17}@((163|126)\.com|yeah\.net)$/     // var str = 'aaa6461@163.com'     // var n = reg.test(str)     // console.log(n)     //邮箱检测     var reg = /^([1-9]{4,9}@qq\.com)|([a-zA-Z]\w{5,17}@((163|126)\.com|yeah\.net))$/     var str = '4523135@qq.com'     console.log(str)     var n = reg.test(str)     console.log(n)

5、n$ 匹配任何结尾为n的字符串

^n 匹配任何开头为n的字符串

n* 匹配任何包含零个或多个n的字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值