正则表达式

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    .right {
        color: green
    }
    
    .wrong {
        color: red
    }
</style>

<body>
    <input type="text" class="uname"> <span>输入用户名</span>
    <textarea name="" id="message">  </textarea>
    <button>ss

    </button>
    <div></div>


    <script>
        //正则表达式的作用:匹配、替换、提取相关内容
        // 正则表达式在js中以对像的形式存在
        // 1.创建正则表达式
        var regexp = new RegExp(/123/)
            // 2.自变量创建
        var rg = /123/;
        // 3.test方法检测字符串是否复合规则,符合返回true,不符合返回false
        // 语法:正则表达式.test(检测字符串)
        // 3.2边界符 ^开始 $结束 正则表达式不需要加引号 ^ $在一起的话,必须精确匹配,数量要一样
        var rg = /^abc/; //以abc开头
        var rg = /abc$/; //以abc结尾
        var rg = /^abc$/; //只有abc
        //3.2 *字符类 [ ] 表示有一系列的字符串可以供选择,只需要匹配其中一个即可 只有一个才正确
        //    * [-] 表示范围  
        //    * [a-zA-Z0-9]组合类型a-z,A-Z 0-9 也是多选一
        //    * []括号里变得加入^表示取反 

        var rg = /[abc]/ //表示包含其中之一就返回true
        var rg = /^[abc]$/; // 三选一 只有a 或者b 或者c 这三个字木返回true
        var rg = /[a-z]/; // a-z中任何一个都可以
        var rg = /^[^abc]$/; //不包含 只有a 或者b 或者c 这三个字木返回true
        // 3.3量词符
        //      *  *表示0-多次
        //      *  +表示1—多西
        //      *  ?表示0-1次
        //      *  {n}表示重复n
        //      *  {n,}表示重复n或更多次
        //      *  {n,m}表示重复n-m次
        var rg = /^a*$/; //'' 'a' 'aaa'都对
        var rg = /^a+$/; //''false 'a' 'aaa’ t
        var rg = /^a?$/; //'' 'a' 'aaa'前两个对,后边的错0-1
        var rg = /^a{3}$/; //'' 'a' 'aaa'只有最后一个正确
        var rg = /^a{3,}$/; //'' 'a' 'aaa' "aaaa"后两个对
        var rg = /^a{3,13}$/; //'' 'a','aaaaaaaaaaaaa' 'aaa' a的个数在3-16之间都对
        var rg = /^[a-zA-Z0-9]{6,18}$/; //这个模式
        var span = document.querySelector("span")
        var input = document.querySelector(".uname")
        input.onblur = function() {
            if (rg.test(input.value)) {
                span.innerHTML = "合法"
                span.className = "right";
            } else {
                span.innerHTML = "不合法"
                span.style.color = "red";
            }
        }
        span.className = "wrong";
        var rg = /^abc{3}$/; //c必须重复三次
        // 3.4 小括号表示优先级
        var rg = /^(abc){3}$/; //abc必须重复三次
        // 检测小工具:https//c.runoob.com
        //    3.5预定义类
        // \d:0-9任意一个数子
        // \D:0以外的任意数字[^0-9]
        // \w:匹配任意的数字、字母、下划线
        // \W:除匹配任意的数字、字母、下划线
        // \s:匹配空格,包括换行符、指标符、空格符、等于=[\t\r\n\v\f]
        // \S:匹配非空格
        //  | 或者
        // g全局匹配、i忽略大小写
        // 练习   验证座机号:010-12345678 or 0530-1234567
        var reg = /^\d{3}-\d{8}|\d{4}-\d{7}$/
        var reg = /^\d{3,4}-\d{7,8}$/
            // 电话号码正则表达式
        var reg = /^1[3|4|5|7|8]\d{9}&/
            //正则表达替换
            // replace()
        var textarean = document.querySelector("#message")
        var btn = document.querySelector("button")
        var div = document.querySelector("div")
        btn.onclick = function() {
            div.innerHTML = textarean.value.replace(/激情/g, "**")
        }
    </script>
</body>

</html>

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

优价实习

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

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

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

打赏作者

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

抵扣说明:

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

余额充值