javaScript学习笔记(七)正则表达式

什么是正则表达式
1) 什么是正则表达式
正则表达式的基本使用
1) 正则表达式的创建2) 元字符3)方括号表示法 4)量词5)修饰符
正则表达式和字符串
1)正则表达式的相关方法2)字符串的相关方法
正则表达式的应用
1)正则表达式的应用

一、什么是正则表达式

正则表达式(regular expression) 描述了字符串的“构成模式”,经常被用于检查字符串是否符合预定的格式要求

        // 定义正则
        var regexp=/^\d{6}$/
        var str='154255'
        console.log(regexp.test(str)) //true 
        //正则表达式的创建

二、正则表达式的基本使用

1 、正则表达式的创建

使用 /内容/的语法形式,可以快速创建正则表达式
也可以使用new RegExp(内容)的形式,创建正则表达式
使用typeof运算符检查正则表达式的类型,结果是object

    var regexp1=/^\d{6}$/
        var regexp2=new RegExp('^\\d{6}$') 
         console.log(regexp1.test('121456')) // true
         console.log(regexp2.test('121456')) // true
         console.log(typeof regexp1) //object
         console.log(typeof regexp2)//object

2、元字符

在这里插入图片描述

        //题目1:某快递公司的单号格式111-2222-555
        var regexp3 = /^\d{3}-\d{4}-\d{3}/
        console.log(regexp3.test('222-2222-333')) //true
        // 题目2:某产品的验证秘钥形式是这样的:XXX-XXXX-XXX,其中口表示字母数字或者下划线,其中X表示字母数字或者下划线,
        var regexp3 = /^\w{3}-\w{4}-\w{3}/

        字符的转义:在特殊字符之前的反斜杠\表示下一个字符不是特殊字符,应该按照字面理解
        //题目3:某产品批号形式为:123.4567#89,请使用正则表达式检查某字符串是否符合此格式
        var regexp4=/^\d{3}\.\d{4}\#\d{2}$/ 
        console.log(regexp4.test('123.4567#89')) //true

3 、方括号的用法

在这里插入图片描述

        console.log('***********分割***********')
        // 使用方括号,比如[xyz],可以创建一个字符集合,表示匹配方括号中的任意字符
        console.log(/^[yds]\d{2}$/.test('y22'))  //true
        // 题目1:请验证某字符串是否是5位字母,大小写均可
        console.log(/^[A-Za-z]{5}$/.test('dfsfD'))
        // 题目2:请验证某字符串是否是5位,且仅有小写字母、点构成
        console.log(/^[a-z\.]{5}$/.test('dfs.d'))
        // 题目3:请验证某字符串是否是4位小写字母,且最后一位不能是m字母
        console.log(/^[a-z]{4}[^m]$/.test('dfscx'))

4、量词

在这里插入图片描述

// 题目1:请验证字符串是否符合手机号码的规则:11位数字,并且肯定以1开头
console.log(/^1\d{10}$/.test('17894561231'))
// 题目2:请验证某字符串是否是这样的:以字母开头,中间是 任意位数字(最少1位)构成,并以字母结尾
console.log(/^[a-zA-Z]\d+[a-zA-Z]$/.test('a55b'))
// 题目3:请验证某字符串是否符合网址规则:以www.开头,中间是任意位的字符(字母数字下划线,最少一位),最后以.com结尾 ,也可以以.com.cn结尾
console.log(/^www\.\w+\.com(\.cn)?$/.test('www.baidu.com.cn'))

4 、修饰符 (后续补全此功能)

在这里插入图片描述

        // 修饰符的使用方法
        var re=/m/gi
        var re2=new Regexp('m','gi')

三、正则表达式和字符串

1、正则表达式的相关方法

在这里插入图片描述

        // exec方法匹配第一次然后匹配下一次会重上一次匹配位置,继续往下匹配
        var str = 'bhd456sdd78ee787rree777'
        var regexps = /\d+/g
        var result = regexps.exec(str) //["456", index: 3, input: "bhd456sdd78ee777rree777", groups: undefined]
        while (result = regexps.exec(str)) {
            console.log(result[0])

2、字符串相关方法

在这里插入图片描述

        var str1='ehe34hfr56hdfh5'
        // search 和indexOf很类似,不能使用正则
        console.log(str1.search(/\d+/g)) //3
        console.log(str1.search(/\.+/g))//-1

        // match()方法  返回数组 找不到返回null
        console.log(str1.match(/\d+/g)) //(3) ["34", "56", "5"]
 
        // replace()方法
        console.log(str1.replace(/[a-z]/g,'X'))

        // split()方法
        console.log(str1.split(/\d+/g)) // ["ehe", "hfr", "hdfh", ""]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值