* 여기서는 "ASP.NET의 유효성 검사 컨트롤"인 [FrmRegularExpressionValidator.aspx] 와 "HTML레벨"의 [FrmRegularExpressionValidator.htm]의 예제로 각각 비교해보았다.

 

 

==> [FrmRegularExpressionValidator.aspx] 소스 및 디자인

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FrmRegularExpressionValidator.aspx.cs"

    Inherits="FrmRegularExpressionValidator" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

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

<head id="Head1" runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

        정규식(정규표현식) 검사?<br />

        이메일 :

        <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>

        <asp:RegularExpressionValidator ID="valEmail" runat="server" ControlToValidate="txtEmail"

            ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ErrorMessage="이메일을 정확히"></asp:RegularExpressionValidator>

        <br />

        <br />

        <asp:ImageButton ID="btnOK" runat="server" AlternateText="확인" />

    </div>

    </form>

</body>

</html>

 

 

 

<!-- 정규식에 대해 더 공부하고 싶으면 regexlib.com 에 들어가서 공부해라 -->

 

 


 
 

 


-------------------------------------------------------------------------------------

 


[실행결과]

--> 아래그림에서 '텍스트박스'에 "정규식"에 어긋나게 텍스트(aaaaaaaaa)를 입력한 후 아래에 있는 "확인"버튼을 누르면 "RegularExpressionValidator"컨트롤에 빨간 글씨로 '에러메시지' 가 출력된다.



 


-------------------------------------------------------------------------------------

 


==> [FrmRegularExpressionValidator.htm] 소스 및 디자인

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

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

<head>

    <title></title>

    <script type="text/javascript">

        function CheckEmail() {

            if (check_mail(document.getElementById("txtEmail"))) {

                alert("OK");

            }

            else {

                alert("듀글래?");

            }

        }

        //[5] 메일주소 검사

        function check_mail(cg) {

            /// <summary>

            /// 맞으면 true

            /// </summary>

            EmailEx1 = /[^@]+@[A-Za-z0-9_\-]+\.[A-Za-z]+/;

            EmailEx2 = /[^@]+@[A-Za-z0-9_\-]+\.[A-Za-z0-9_\-]+\.[A-Za-z]+/;

            EmailEx3 = /[^@]+@[A-Za-z0-9_\-]+\.[A-Za-z0-9_\-]+\.[A-Za-z0-9_\-]+\.[A-Za-z]+/;

            if (EmailEx1.test(cg.value)) return true;

            if (EmailEx2.test(cg.value)) return true;

            if (EmailEx3.test(cg.value)) return true;

            return false;

        }       

    </script>

</head>

<body>

이메일 : <input type="text" id="txtEmail" /><br />

<input type="button" value="체크" onclick="CheckEmail()" />

</body>

</html>

 

 


 

 

-------------------------------------------------------------------------------------

 


[실행결과]

--> '텍스트박스'에 "정규식"의 형식에 맞게 '텍스트'를 입력(b@b.com)하고 "체크"버튼을 누르면 아래그림과 같이 메시지박스가 출력된다.





--> '텍스트박스'에 "정규식"의 형식에 어긋나게 '텍스트'를 입력(bbbbbb)하고 "체크"버튼을 누르면 아래그림과 같이 메시지박스가 출력된다.

 

 

 

Posted by holland14
: