스크립트 질문드립니다.

스크립트 질문드립니다.

QA

스크립트 질문드립니다.

본문

안녕하세요

 

폼메일을 활용하고 있는데

 

전화번호 부분을 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>

 

 

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

 

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

 

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

 

이 질문에 댓글 쓰기 :

답변 2


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

여기를


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

 

이렇게 바꿔보세요.

preg_match는 php용 함수입니다.

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

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


<?php
function alert($msg) {
    die('<script>alert("' . addslashes($msg) . '"); history.back();</script>');
}
if (empty($_POST) == false) {
    $wr_name = isset($_POST['wr_name']) ? $_POST['wr_name'] : '';
    $wr_2 = isset($_POST['wr_2']) ? $_POST['wr_2'] : '';
    if (!preg_match('/^\d{3}-?\d{3,4}-?\d{4}$/', $wr_2)) {
        alert('정확한 핸드폰 번호를 입력해주십시오.');
    }
    echo '<pre>';
    echo $wr_name . PHP_EOL;
    echo $wr_2 . PHP_EOL;
    echo '</pre>';
    exit();
}
?>
<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>
<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>
답변을 작성하시기 전에 로그인 해주세요.
전체 75
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT