ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

正则表达式

2022-06-13 00:34:59  阅读:124  来源: 互联网

标签:console log 正则表达式 test str var reg


正则表达式相关知识点总结

1.正则表达式的语法

 <script>
        /*
         * 创建一个正则表达式检查一个字符串是否含有aaa
         * 
         * 量词
         * -通过量词可以设置一个内容出现的次数
         * -量词只对它前边的一个内容起作用
         * -{n}正好出现n次
         * -{m,n}出现m-n次
         * -{m,}m次以上
         * - + 至少一个,相当于{1,}
         * - * 0个或多个,相当于{0,}
         * - ? 0或1个,相当于{0,1}
         */
        var reg = /a{3}/;
        //ababab
        console.log(reg.test("aaabc"));//true

        reg = /ab{3}/
        console.log(reg.test("abbb"));//true,只对b起作用

        reg = /(ab){3}/
        console.log(reg.test("ababab"));//true

        reg = /ab{3}c/;
        console.log(reg.test("abbbc"));//true,a和c之间刚好有3个b

        reg = /b{3}///是否有连续出现的三个b
        console.log(reg.test("bb"));//false

        reg = /ab{1,3}c/
        console.log(reg.test("abbc"));//true

        reg = /ab+c/
        console.log(reg.test("abbbbc"));//true

        /*
         * 检查一个字符串中是否以a开头
         *  ^ 表示开头
         * $ 结尾
         * 
         * 如果在正则表达式中同时使用^和$ ,则要求字符串中必须完全符合正则表达式
         * reg=/^a|a$/;以a开头或者结尾
         */
        reg = /^a/
        console.log(reg.test("abcabc"));//true

        reg = /^a$/; //a开头又结尾
        console.log(reg.test("a"));///true

    </script>
    
 <script>
        /*
         * 创建一个正则表达式,用来检查一个字符串是否是一个合法手机号
         *手机号规则
         *  1 3 567890123(11位)
         * 
         * 1. 以1开头
         * 2. 第二位3-9任意数字
         * 3. 第三位以后任意数字9个
         * ^1 [3-9] {0-9}{9}$
         */
        var phoneStr = "13278831206";
        var phoneReg = /^1[3-9][0-9]{9}$/;
        console.log(phoneReg.test(phoneStr));//true
    </script>

<body>
    <script>
        /*
         * 检查一个字符串中是否含有.
         * 
         * .表示任意字符
         * 在正则表达式中使用\作为转义字符
         * \.来表示
         * \\ 表示\
         * 
         * 注意,使用构造函数,由于它的参数是一个字符串,而\是字符串中的转义字符,
         * 如果使用\则需要使用\\来代替
         * 
         * 
         * \w
         * -任意字母 任意数字 _  [A-z0-9_]
         * \W
         * -除了字母 数字 下划线 [^A-z0-9]
         * \s
         * -空格
         * \S
         * - 除了空格
         * \b
         * -单词边界
         * \B
         * -除了单词边界
         * \d
         * -  任意数字[0-9]  
         * \D
         * - 除了数字[^0-9]
         */
        /*
         * 创建一个正则表达式检查一个字符串中是否含有单词child
         * 
         * 
         */
        var reg = /./;
        reg = /\\/
        reg = new RegExp("\\.")
        reg = /\bchild\b/;
        console.log(reg.test("hello children"));//false
        console.log(reg.test("bbbbbb"));//false
        console.log(reg.test("b"));//true
        console.log(reg.test("b.\\"));
        console.log("b.\\");//b.\

        //去掉字符串中的空格
        //去掉字符串就是使用""来替换空格
        var str = "        he    llo      "
        //去除开头的空格
        //str = str.replace(/^\s*/g, "");
        //去掉结尾的空格
        str = str.replace(/\s*$/, "");
        //匹配开头和结尾的空格 /^\s*|s*$/g 
        str = str.replace(/^\s*|s*$/g, "");//he   llo
        console.log(str);
    </script>
</body>

1.常见正则表达式

    <script>
        //\[]
        // >  &gt;
        // // \  转义
        // var str = ".[/b]"
        // var reg = /\.\[\/b]/;
        // console.log(reg.test(str));

        // // m 换行
        // var pattern = /^\d+/gm;
        // var str = "1,baidu98\n2,google99\n3,bing100";
        // console.log(str);
        // console.log(str.replace(pattern, "#"));






        // // 邮政编码(共6位数字, 第一位不能为0)
        // var reg = /^[1-9]\d{5}$/

        // // 电子邮件(xxxx@xxx(.xxx) +)

        // // var reg=/\w+@\w+\.\w+/ig
        // var str1 = "zh.an.san@1000phone.com"
        // var str2 = "zhansan@1000phone.com"
        // var str3 = "zh.an@1000phone.com.cn"
        // var reg=/^\w+(\.\w+)*@\w+(\.\w+)+$/ig;

        // //手机号(13或14或15或18开头的11位数字)

        // // var reg=/^1[3458]\d{9}$/
        // var  reg=/^1[3-9]\d{9}$/g

        // // 用户名(只能使用数字字母下划线, 且数字不能开头, 长度在6-15位)

        // var reg=/^[a-z_]\w{5,14}$/i

        // //身份证
        // var reg=/^[1-9]\d{16}[\d|x]$/i

        // console.log(reg.test('43042420011212123X'));

        // //  120


        // var reg=/(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}[0-9Xx]$)/



        // var reg=/(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}[0-9Xx]$)/


        // var str = "2017-11-11";
        // var reg=/^\d{4}-\d{2}-\d{2}$/ // 99




        //图片文件格式

        var  str=/\.(jpg|gif|png|jpeg|webp)$/

    </script>
</body>

标签:console,log,正则表达式,test,str,var,reg
来源: https://www.cnblogs.com/buxiu888/p/16369360.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有