正则表达式

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>正则表达式</title>
    </head>
    <body>
    </body>
    <script type="text/javascript">
        //正则表达式
        //自己定义的用来验证字符串的一种规则
        
        //判断一个字符串是不是手机号
        //11位、1开头、纯数字(人类语言)
        //把人类演员的规则转化为计算机能看得懂的表达式,就是正则表达式
        
        //正则表达式的创建的两种方式
        //1、var reg = /参数1/参数2
        //2、var reg = new RegExp(参数1,参数2)
        //参数1 就是我们要定义的规则
        //参数2 可以跟i,g,m
            //i 查找的时候忽略大小写
            //g 全局匹配(正常情况下只匹配一个)
            //m 允许多行匹配
        
        var reg1 = /5/;     //条件
        var str1="haha543";  //来验证是否符合条件
        
        //match 就是来看下这个字符串到底符合不符合我们的条件
        console.log(str1.match(reg1));
        //元字符
        //\d   数字
        var reg2=/\d/g;
        var str2="我是2haha2ha";
        console.log(str2.match(reg2));
        //\w 查找单词字符  包含字母数字下划线
        var reg3=/\w/;
        var str3="hello";
        console.log(str3.match(reg3));
        //.  找单个字符,除了换行和结束符
        var reg4=/./;
        var str4="hello";
        console.log(str4.match(reg4));
        
        //[5-7]表示一个范围
        var reg5=/[5-7]/g;
        var str5="63653231273123";
        console.log(str5.match(reg5));
        //\b 匹配单词边界
        //边界放到单词前代表找以什么开头的单词(\bbox 代表以box开头的单词)
        //边界放到单词后代表找以什么结尾的单词
        //边界放到单词两边,代表只找这个单词
        
        var reg6=/\bbox\b/g;
        var str6="casdsa dsadas boxt";
        console.log(str6.match(reg6));
        
        //[]
        //[123]代表查找123中任意一个数
        //[^123]代表查找不是123的字符
        //[7-9]代表查找7-9的数组,包含7和9
        //[a-z]查找小写字符
        //[A-Z]查找小写字符
        //[A-z]查找大小写字符
        //[5-7|8-9]查找5-7或者8-9的数字
        var reg7=/[5-7|8-9]/g;
        var str7="6369532318273123";
        console.log(str7.match(reg7));
        
        //量词
        // + 5+至少包含一个5
        // * 5*包含0个或者多个5
        // ?     5?包含0个或者1个
        //5{2} 包含2个5的字符串
        //5{2,3}包含2个或者3个5的字符串
        //5$ 字符串最后面一个5
        //^5  字符串第一个位置的5
        
        var reg8=/5$/g;
        var str8="6355569532553515827531235";
        console.log(str8.match(reg8));
        
        //11位 纯数字 1开头
        var reg9=/^1\d{10}$/; 
        var str9="17858974903";
        console.log(str9.match(reg9));
        //正则调用test方法
        //吧字符串当做test的差别是关于,意味着检测这个字符串是否匹配这个正则
        //匹配返回true,不匹配返回false
        console.log(reg9.test(str9));
        
        //邮箱
        //1、开头数字字母
        //2、@前面可以是数字、字母、下划线
        //3、@前面5个以上的字符
        //4、@后面2个以上字符,可以是字母。数字
        //5、 .com结尾
        
        var reg10=/^[0-9|a-z|A-Z]\w{4}\w*@[0-9|a-z|A-Z]{2}[0-9|a-z|A-Z]*\.com$/;
        var str10="luoluokk@qq.com";
        console.log(str10.match(reg10));
        
        var reg11=/^[\u4E00-\u9FA5]+$/;
        var str11="哈哈";
        console.log(str11.match(reg11));
    </script>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容