JS正则表达式

 <!-- 
        正则表达式
           - 用某种模式去匹配一类字符串的公式
               let str = 'Dgfhfgh254bhku289fgdhdy675gfh'
               //创建一个能匹配上述字符串中数值字符的模式
               let reg = /\d+/
               //匹配
               reg.test(str)
                 => true
               str.match(reg)
                 =>[]

          - 正则常用方法学习
              正则.test(字符串)
                =>true|false
              字符串.search(正则)
                 => 索引号
               字符串.match(正则)
                => 数组  null
                字符串replace(正则)
                  =>替换后字字符串

          - 正则字符学习



     -->
</head>

<body>
    <script>
        let str = 'abcdef' //要匹配的字符串
        let reg = /b/  //正则表达式
        // let isSuccess = reg.test(str)
        // alert(isSuccess?'匹配成功':'匹配失败')

        // let index = str.search(reg)
        // alert(index)

        let newStr = str.replace(reg, 'X')
        console.log(newStr); //aXcdef
正则字符
 /*
            用正则表达式匹配的是中国的电话号码,以0开头,然后是两个数字,然后是一个连字号“-”,最后是8个数字
            分析:  
                   // 以0开头,然后是两个数字,然后是一个连字号“-”,最后是8个数字 
                   let reg = /0\d{2}-\d{8}/
                     
                   let phone = '028-12345678'  // 028-123456789  128-12345678  028_12345678
                   
        */

        let reg = /0\d{2}-\d{8}$/
        let phone = '028-12345678'

        if(reg.test(phone)){
            alert('是正确电话号码')
        }else{
            alert('是不正确电话号码')
        }
定位符
/*
        *需求: 写正则表达式,匹配英语句子字符串是否以once开头
          
        */

        let reg = /^once/
        let str1 = 'There once upon a time'

        alert(reg.test(str1))
修饰符
let str = 'Dgfhfgh254bhku289fgdhdy675gfh'
        //创建一个能匹配上述字符串中数值字符的模式
        let reg = /\d+/g	返回全局数字
        let arr = str.match(reg)	匹配
        console.log(arr);
        以数组形式返回

练习

/*  
           1. 用正则表达式匹配的是中国的电话号码,以0开头,然后是两个数字,然后是一个连字号“-”,最后是8个数字 
             分析: 用正则将电号码描述出来
              
        */
        // let reg = /0\d{2}-\d{8}$/
        // let phone = '028-12345678'
        // alert(reg.test(phone))

        /*  
           2. 正则表达式匹配HTML标签中的<h1><h2><h3><h4><h5><h6> 
             
         */
        // let reg = /<h[1-6]>/
        // let str = '<h7>'
        // alert(reg.test(str))

        /* 
           3. 将字符串'He is a boy, This is a dog.Where is she?'中单词is替换成are 
             
        */
        //He are a boy, Thare are a dog.Where are she?
        // let str = 'He is a boy, This is a dog.Where is she?'
        // let reg = /\bis\b/g
        // let newStr = str.replace(reg, 'are')
        // console.log(newStr);


        /*    4. 已知密码字符串需满足以下条件
            以大写字母开头,必须是数字字母组合,至少8位
            
            let password = 'zhousir028'

             以大写字母开头,必须是数字字母组合,至少8位
               let reg = /[A-Z][0-9a-zA-Z]{7,}/
        */
        // let reg = /^[A-Z]\d+[0-9a-zA-Z]{6,}/
        // let password = 'Zhousir'
        // alert(reg.test(password))


        /*  
           5. 邮箱格式验证
               邮箱只能是字母数字组合,包含@符号,以.com或.
               
               let reg = /[0-9a-zA-Z]+@[0-9a-zA-Z]+\.com|\.cn$/
               let email = 'zhousir@qq.com'
         */
        let reg = /[0-9a-zA-Z]+@[0-9a-zA-Z]+\.com|\.cn$/
        let email = 'zhousir@qq.com'
        alert(reg.test(email))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值