<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <title>09regExpObject.html</title>

    <script>

   

        var str="Is this all there is?";

        var re = new RegExp("is", "gi");//Is,is,is

        //g代表比對全部(沒有g則只會顯示一個)i代表忽略大小寫

        document.write(str.match(re) + "<br>");

 

        var re1 = new RegExp("is", "g");//is,is

        document.write(str.match(re1) + "<br>");

 

        var re2 = new RegExp("is", "i");//Is

        document.write(str.match(re2) + "<br>");

 

        var re3 = new RegExp("is", "");//is

        document.write(str.match(re3) + "<hr/>");

       

 

       

        function chkEmail() {

            var theEmail = document.getElementById("idEmail").value;

            //var re = /^.+@.+\..{2,3}$/;

            //document.write("\"a+b\"");,返斜線\代表跳脫字元,所以這一行會顯示"a+b"

            //網址格式:xxxxx@xxxx.xxx(或者xx)

 

            var re = new RegExp("^.+@.+\\..{2,3}$", "gi")

            //^  開始字元

            //.」可以有一或多個字元(不包含換行符號但是包含空白)

            //a+,「+」符號看的是他前面,代表只少要出現一次,所以a+代表a至少要出現一次

            //^.+」代表開始的地方為不限定字數的字元(且可以空白),但至少要有一個(即使是空白)(因為有+)

            //@代表在「^.+」後需要出現「@

            //.+ 一定要出現一個或多個字元(即使是空白)

            //\」返斜線意思是跳脫字元,也就是後面的東西視為「字元」而非特殊符號,但因為JS也把\認為是跳多字元,所以如果只是傳

            //^.+@.+\..{2,3}$的話,會顯示成^.+@.+..{2,3}$如下,所以解決方法就是多加一個\

            document.write("^.+@.+\..{2,3}$");//顯示^.+@.+..{2,3}$(這個要點完checkEmail才會出現)

            //\.」中的「.」跟@一樣是一個一般字元,代表一定要出現

            //.{2,3}則代表要有任意字元2-3個,後面加$符號代表此為結尾(.後、結尾前只有2-3個字元),所以不能超過3

 

 

            if (re.test(theEmail))

                alert("successful");

            else

                alert("failure");

 

        }

    </script>

</head>

<body>

    Email:<input type="text" id="idEmail" />

    <br />

    <input type="button" value="checkEmail" onclick="chkEmail();" />

</body>

</html>


正則參考:https://atedev.wordpress.com/2007/11/23/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%A4%BA%E5%BC%8F-regular-expression/

正則測試:https://regex101.com/#javascript

 

arrow
arrow
    全站熱搜

    乙方 發表在 痞客邦 留言(0) 人氣()