테스트 사이트 - 개발 중인 베타 버전입니다

스크립트 질문드립니다. 채택완료

다나한포션 2년 전 조회 1,457

안녕하세요

 

폼메일을 활용하고 있는데

 

전화번호 부분을 11자리 이하로 입력되는 스팸이 많이 들어와서

 

딱 11자리가 되어야 넘어갈 수 있게 스크립트를 넣었는데

 

아래와 같이 해보니 그냥 넘어가 버리더라구요

 

wr_name과 wr_2는 잘 막고 있습니다.

 

 

            <script>

                function form_Check3(){

                    if(form3.wr_name.value == ''){

                        alert("이름을 입력해주십시오.");

                        form3.wr_name.focus();

                        return false;

                    }

                    if(form3.wr_2.value == ''){

                        alert("연락처를 입력해주십시오.");

                        form3.wr_2.focus();

                        return false;

                    }

                    if (!preg_match('/^\d{3}-?\d{3,4}-?\d{4}$/', wr_2) ) {

                        alert('정확한 핸드폰 번호를 입력해주십시오.');

                    }

                    document.getElementById("btn_send").disabled = "disabled";

                    return true;

                    }

            </script></p>

<p>

 

 

                    if (!preg_match('/^\d{3}-?\d{3,4}-?\d{4}$/', wr_2) ) {
                        alert('정확한 핸드폰 번호를 입력해주십시오.');
                    }

 

이걸 퍼와서 적용해보았는데 안되더라구요,.

 

고수님들의 조언 부탁드립니다. ㅠ

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트

</p>

<p>if (!preg_match('/^\d{3}-?\d{3,4}-?\d{4}$/', wr_2) ) {</p>

<p>    alert('정확한 핸드폰 번호를 입력해주십시오.');</p>

<p>}</p>

<p>

여기를

</p>

<p>if (/^\d{3}-?\d{3,4}-?\d{4}$/.test(form3.wr_2.value) === false) {</p>

<p>    alert('정확한 핸드폰 번호를 입력해주십시오.');</p>

<p>}</p>

<p>

 

이렇게 바꿔보세요.

preg_match는 php용 함수입니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

다나한포션
2년 전
답변감사합니다.
000-0000-0000
형식이 아니라
00000000000
처럼 11자리만 들어가게 하려면 어떻게 해야 할까요
10자리도 안되고 딱 11자리가 되어야 될수있도록이요...
죄송합니다. ㅠ

댓글을 작성하려면 로그인이 필요합니다.

2년 전

다음과 같이 처리하는것도 방법일것 같습니다.

</p>

<p><?php

function alert($msg) {

    die('<script>alert("' . addslashes($msg) . '"); history.back();</script>');

}</p>

<p>if (empty($_POST) == false) {

    $wr_name = isset($_POST['wr_name']) ? $_POST['wr_name'] : '';

    $wr_2 = isset($_POST['wr_2']) ? $_POST['wr_2'] : '';</p>

<p>    if (!preg_match('/^\d{3}-?\d{3,4}-?\d{4}$/', $wr_2)) {

        alert('정확한 핸드폰 번호를 입력해주십시오.');

    }</p>

<p>    echo '<pre>';

    echo $wr_name . PHP_EOL;

    echo $wr_2 . PHP_EOL;

    echo '</pre>';

    exit();

}

?></p>

<p><script>

    function form_Check3(){

        /*if(form3.wr_name.value == ''){

            alert("이름을 입력해주십시오.");

            form3.wr_name.focus();

            return false;

        }

        if(form3.wr_2.value == ''){

            alert("연락처를 입력해주십시오.");

            form3.wr_2.focus();

            return false;

        }

        if (!/^\d{3}-?\d{3,4}-?\d{4}$/.test(form3.wr_2)) {

            alert('정확한 핸드폰 번호를 입력해주십시오.');

            return false;

        }*/

        document.getElementById("btn_send").disabled = "disabled";

        return true;

        }

</script></p>

<p><form method="post" name="form3" onsubmit="return form_Check3()">

    <ul>

        <li><label>wr_name: <input type="text" name="wr_name" required="required" /></label></li>

        <li><label>wr_2: <input type="text" name="wr_2" required="required" maxlength="13" pattern="^\d{3}-?\d{3,4}-?\d{4}$" /></label></li>

        <li><input type="submit" id="btn_send" /></li>

    </ul>

</form></p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인