21.5正则

本文展示了使用JavaScript实现的身份证号码验证、表单字段(如用户名、密码、手机号)的合法性检查,以及文本内容中敏感词的过滤替换示例。
摘要由CSDN通过智能技术生成

 

目录

身份证验证

 表单验证

 过滤并替换敏感词


身份证验证
 <!-- 案例身份证号码验证 -->
<body>
    <script>
        var str = prompt('请输入要验证的身份证号码:')
        var reg = /^[1-9]\d{5} (18|19|[23]\d)\d{2} (0[1-9]|1[0-2]) ([0-2][1-9]|10|20|30|31) \d{3}[0-9Xx]$/;
        if (reg.test(str)) {
            console.log('您输入的身份证号码合法');
        } else {
            console.log('您输入的身份证号码不合法');
        }
    </script>
</body>
 表单验证
  <style>
        label{
            width: 80px;display: inline-block; margin-bottom: 20px;
        }
        input{
            width: 300px; padding: 5px;
        }
        .green{
            color: green;
        }
        .red{
            color: red;
        }
    </style>
</head>

<body>
    <form>
        <label>用户名:</label>
        <input type="text" name="username" placeholder="长度3~10位,英文大小写字母"><span></span><br>
        <label>密码:</label>
        <input type="password" name="pwd" placeholder="长度6~20位,英文大小写字母、数字、下划线"><span></span><br>
        <label>确认密码:</label>
        <input type="password" name="conf" placeholder="请再次输入密码"><span></span><br>
        <label>手机号:</label>
        <input type="text" name="tell" placeholder="以13、15、16、17、18、19开头的11位数字"><span></span><br>
    </form>

    <script>
        // 验证用户名、密码、手机号是否合法
        function checkItem(obj,name,reg){
            var osp = obj.nextElementSibling;
            obj.onblur = function(){
                if (reg.test(obj.value)){
                    osp.innerHTML = '恭喜您' + name + '合法!';
                    osp.className = 'green';
                }else{
                    osp.innerHTML = '您输入的' + name + '不合法,请重新输入!';
                    osp.className = 'red';
                }
            };
        }
        // 验证两次输入密码是否一致
    function checkPwd(obj,previous){
        obj.onblur = function(){
            if (obj.value == previous.value){
                obj.nextElementSibling.innerHTML = '密码正确!';
                obj.nextElementSibling.className = 'green';
            }else{
                obj.nextElementSibling.innerHTML = '两次输入的密码不一致,请重新输入!';
                obj.nextElementSibling.className = 'red';
            }
        }
    }
    // 获取所有input元素
    var oinp = document.getElementsByTagName('input');
    // 调用check Item()函数
    checkItem(oinp[0],'用户名',/^[a-zA-z]{3,10}$/);
    checkItem(oinp[1],'密码',/^\w{6,20}$/);
    checkItem(oinp[3],'手机号',/^1[356789]\d{9}$/);
    // 调用checkPwd()函数
    checkPwd(oinp[2],oinp[1]);
    </script>

</body>
 过滤并替换敏感词
<body>
    <div>过滤前的内容:<br>
    <textarea id="before" cols="30"  rows="5"></textarea>
    </div>
    <button id="btn">过滤</button>
    <div>过滤后的内容:<br>
        <textarea id="after" cols="30" rows="5"></textarea>
    </div>
    <script>
        document.getElementById('btn').onclick = function(){
            var str = document.getElementById('before').value;
            var reg = /(好)|(坏)/gi;
            var newStr = str.replace(reg,'*');
            document.getElementById('after').value = newStr;
        }
    </script>
</body>

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值