스크립트 질문드립니다.
본문
안녕하세요
폼메일을 활용하고 있는데
전화번호 부분을 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용 함수입니다.
!-->!-->다음과 같이 처리하는것도 방법일것 같습니다.
<?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>
답변을 작성하시기 전에 로그인 해주세요.