스크립트 질문드립니다. 채택완료
다나한포션
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 포인트
2년 전
</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년 전
댓글을 작성하려면 로그인이 필요합니다.
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>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
000-0000-0000
형식이 아니라
00000000000
처럼 11자리만 들어가게 하려면 어떻게 해야 할까요
10자리도 안되고 딱 11자리가 되어야 될수있도록이요...
죄송합니다. ㅠ