正则表达式

本文深入介绍了正则表达式的定义、使用方法和常见操作,包括边界符、字符类、量词等概念,并通过实例展示了如何进行字符串检验、特殊字符匹配和替换。此外,还提供了输入提示的案例,演示了正则表达式在实际场景中的应用。
摘要由CSDN通过智能技术生成

正则表达式的定义

    var reg1 = new RegExp(/123/);//只要字符串中含有'123'就为true
    console.log(reg1);

        var reg2 = /123/;
        console.log(reg2);

字符串检验方法

        var flag1 = reg2.test(123342324342);
        console.log(flag1);//true

        var flag2 = reg2.test("abc");
        console.log(flag2);//false

特殊字符

//特殊字符
        /* 
         1.边界符
         ^以……开头
         $以……结尾
         2.字符类
         []一系列可供选择的字符,只要包含其中一个就可以
         ^[]$一系列可供选择的字符,只能包含其中一个
         3.范围类
         -  例如a-z
        */

        var tou = /^abc/;
        var wei = /abc$/;
        console.log(tou.test('abcde'));//true
        console.log(tou.test('cswdsabc'));//false
        console.log(wei.test('eabc'));//true
        console.log(wei.test('abcde'));//false

        var touwei = /^abc$/;//必须是'abc'这个字符串
        console.log(touwei.test('abcabc'));//false
        console.log(touwei.test('abc'));//true

        var one = /[abc]/;
        console.log(one.test('abedfds'));//true
        console.log(one.test('fghyuj'));//false

        var only = /^[abc]$/;
        console.log(only.test('a'));//true
        console.log(only.test('aa'));//false
        console.log(only.test('adfty'));//false

        var cant = /^[^abd]$/;//如果[]里面有^则表示不能出现[]里面的字符

量词

?出现0次或1次
*出现0次或多次
+出现1次或多次
{m,n}出现次数大于等于m小于等于n
{m,}至少出现m次
{,n}至多出现n次

预定义

             \d 0-9
            \D 0-9以外的字符
            \w 任意的字母数字和下划线
            \W 任意字母数字和下划线以外的字符
            \s 空格
            \S 空格以外的字符

括号

1.大括号表示重复
2.中括号表示字符组
3.小括号表示优先级

替换

replace(正则表达式或原有字符串,替换为的新字符串);

//正则表达式可以在后面加上修饰

g表示全局搜索   i表示不区分大小写    gi全局搜索+忽略大小写

var zhan = document.getElementById("zhan");
        var btn = document.getElementById("go");
        var xxx = document.getElementById('text');

        btn.onclick = function(){
            zhan.innerHTML = xxx.value.replace(/激情|gay/g,'**');
        }
        

案例

输入提示1

 var btn = document.getElementById("go");
        var s = document.getElementById('xxx')
        var name = document.getElementById('text').value;
        var reggg = /[0-9a-zA-Z]{3,9}/;
        btn.onclick = function(){
            if(reggg.test(name))
            {
                s.innerHTML = '用户名合法';
                s.style.color = 'green';
            }
            else
            {
                s.innerHTML = '用户名不合法';
                s.style.color = 'red';
            }
        }

输入提示2

<div id = "biggest">
        <ul>
            <li>
                手机号
                <input type="text" id="telephone">
                <span id="telephone_span"></span>
            </li>
            <li>
                qq号
                <input type="text" id="qqnumber">
                <span id="qqnumber_span"></span>
            </li>
            <li>
                邮箱
                <input type="text" id="youxiang">
                <span id="youxiang_span"></span>
            </li>
            <li>
                验证码
                <input type="text" id="yzm">
                <span id="yzm_span"></span>
            </li>
            <li>
                登录密码
                <input type="password" id="password">
                <span id="password_span"></span>
            </li>
            <li>
                确认密码
                <input type="password" id="unpassword">
                <span id="unpassword_span"></span>
            </li>
        </ul>
    </div>
    



    <script>
        var inputs = document.querySelectorAll("input");
        var spans = document.querySelectorAll("span");
        var regs = [
/^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9]|199)\d{8}$/,
                /[1-9][0-9]{4,14}/,
                /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/,
                /[/d{6}]/,
                /^[a-zA-Z]\w{5,17}$/]

        inputs[0].onblur = function(){
            if(regs[0].test(this.value))
            {
                spans[0].innerHTML = "输入正确";
                spans[0].style.color = 'green';
            }else{
                spans[0].innerHTML = "输入错误";
                spans[0].style.color = 'red';
            }
        }
        //只写的手机号的验证,其他也是同理,对应的正则表达式已经在数组中列出(才不是懒得写)

    </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值