首页 > 编程语言 > 详细

JavaScript017,正则表达式

时间:2020-06-13 21:50:09      阅读:40      评论:0      收藏:0      [点我收藏+]
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>JavaScript 正则表达式</title>
    </head>
    <body>
        <p>正则表达式:由一个字符序列形成的搜索模式,可用于所有文本搜索和文本替换的操作;</p>
        <p>语法:/正则表达式主体/修饰符(可选) --- 例如:var patt = /runoob/i</p>
        
        <p>修饰符:</br>
            i:执行对大小写不敏感的匹配;</br>
            g:执行    全局匹配(查找所有匹配而非在找到第一个匹配后停止);</br>
            m:执行多行匹配;
        </p>
        
        <p style="color: red;">在JavaScript中,正则通常用于两个字符串方法:seach()和replace();</p>
        <h3>search():用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子字符串的起始位置;</h3>
        <p>在“Hello World!”中搜索字符串“World”,并显示匹配的起始位置;</p>
        <button onclick="myFunction()">点我</button><!-- 点击事件 -->
        <p id="demo1"></p>
        
        <h3>search():用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串;</h3>
        <button onclick="myFunctionT()">点我</button><!-- 点击事件 -->
        <p id="demo2">Hello World!</p>
        <p>---------------------------------------</p>
        <p>详细的正则表达式模式、量词、元字符; <a href="https://www.runoob.com/js/js-regexp.html">点击</a></p>
        <p>---------------------------------------</p>
        
        <h3>使用RegExp对象:RegExp 对象是一个预定义了属性和方法的正则表达式对象。</h3>
        
        
        <script type="text/javascript"> 
            function myFunction(){
                var str = "Hello World!";//此处空格也算是一个字符串
                var a = str.search(/w/i);//修饰符可以同时加多个:/w/ig; (/w/i)可以直接用字符串代替("W"),但是要区分大小写;
                //var b = str.match(a);//把匹配到的字符串存储到b;
                document.getElementById("demo1").innerHTML = "起始位置:" + a;//输出结果为6,因为是从0开始检索
            }
            
            function myFunctionT(){
                var str1 = document.getElementById("demo2").innerHTML;//获取demo2标签内的值
                var x = str1.replace(/world/i,"Man");//replace检索world并替换为Man;同样的,也可以直接接收字符串("World","Man");
                document.getElementById("demo2").innerHTML = "替换后的str1:" + x;
            }
            
            //----------RegExp对象test()方法----------
            //test() 方法是一个正则表达式方法;用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。
            var res = new RegExp(/c/i);//在字符串中检索有没有e字符,有返回true,没有返回false;也可以直接接收字符串("C");
            document.write("test()输出结果为:" + res.test("ABCDEFG") + "</br>");//res.test("ABCDEFG")可以不声明变量,直接写成:/c/i.test("ABCDEFG");
            
            //exec() 方法用于检索字符串中的正则表达式的匹配,该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null;
            var num = /b/i.exec("AABBCCDD");
            document.write("exec()输出结果为:" + num + "</br>");//该函数返回一个数组
            document.write("exec()匹配结果是否为数组:" + Array.isArray(num));//判断num的对象类型是否为数组
        </script>
    </body>
</html>

 

JavaScript017,正则表达式

原文:https://www.cnblogs.com/zhou0910/p/13121824.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!