함수 중첩 관련 질문드립니다.
본문
★먼저 소스입니다.
<select name="sfl" id="sfl" onchange="chageLangSelect()" >
<option value="mb_id"<?php echo get_selected($_GET['sfl'], "mb_id"); ?>>회원아이디</option>
<option value="mb_nick"<?php echo get_selected($_GET['sfl'], "mb_nick"); ?>>닉네임</option>
<option value="mb_hp"<?php echo get_selected($_GET['sfl'], "mb_hp"); ?>>휴대폰번호</option>
</select>
<input type="text" name="stx" value="<?php echo $stx ?>" id="stx" required class="required frm_input" onKeyup="addDashMem(this)" >
<script>
function addDashMem(check){
var check_string = check.value;
var check_string = check_string.replace(/[^0-9]/g, '');
var len = check_string.length;
if (len >= 1 && check_string.substr(0,1) == '1'){
if (len >= 5 && len <= 7){
var subA = check_string.substr(0,4);
var subF = check_string.substr(4,4);
check.value = subA + "-" + subF;
}
else if (len >= 8){
var subA = check_string.substr(0,4);
var subF = check_string.substr(4,4);
check.value = subA + "-" + subF;
}
else{
check.value = check_string;
}
}
else if (len >= 2 && check_string.substr(0,2) == '02'){
if (len >= 3 && len <= 5){
var subA = check_string.substr(0,2);
var subF = check_string.substr(2,3);
check.value = subA + "-" + subF;
}
else if (len >= 6 && len <= 9){
var subA = check_string.substr(0,2);
var subF = check_string.substr(2,3);
var subB = check_string.substr(5,4);
check.value = subA + "-" + subF + "-" + subB;
}
else if (len >= 10){
var subA = check_string.substr(0,2);
var subF = check_string.substr(2,4);
var subB = check_string.substr(6,4);
check.value = subA + "-" + subF + "-" + subB;
}
else{
check.value = check_string;
}
}
else if (len >= 2 && check_string.substr(0,2) != '02'){
if (len >= 4 && len <= 6){
var subA = check_string.substr(0,3);
var subF = check_string.substr(3,3);
check.value = subA + "-" + subF;
}
else if (len >= 7 && len <= 10){
var subA = check_string.substr(0,3);
var subF = check_string.substr(3,3);
var subB = check_string.substr(6,4);
check.value = subA + "-" + subF + "-" + subB;
}
else if (len >= 11){
var subA = check_string.substr(0,3);
var subF = check_string.substr(3,4);
var subB = check_string.substr(7,4);
check.value = subA + "-" + subF + "-" + subB;
}
else{
check.value = check_string;
}
}
else{
check.value = check_string;
}
}
</script>
★현재는 input에 대해서 숫자를 넣을때, 000-0000-0000 으로 되게끔 스크립트 구현한 상태입니다.
셀렉트 옵션중에서 휴대폰번호를 선택했을때만 하이픈 (-)이 되게끔 하고 싶습니다;
★위치는 어드민 관리 그누보드 회원관리쪽 옵션에 따른 검색할때 입니다.
어떻게 해야할까요?ㅠ 도와주세용
답변 1
이렇게 바꿔보실레요
function addDashMem(check){
var select = document.getElementById("sfl");
var optionVal = (select.options[select.selectedIndex].value);
if(optionVal == 'mb_hp'){
var check_string = check.value;
var check_string = check_string.replace(/[^0-9]/g, '');
var len = check_string.length;
if (len >= 1 && check_string.substr(0,1) == '1'){
if (len >= 5 && len <= 7){
var subA = check_string.substr(0,4);
var subF = check_string.substr(4,4);
check.value = subA + "-" + subF;
}
else if (len >= 8){
var subA = check_string.substr(0,4);
var subF = check_string.substr(4,4);
check.value = subA + "-" + subF;
}
else{
check.value = check_string;
}
}
else if (len >= 2 && check_string.substr(0,2) == '02'){
if (len >= 3 && len <= 5){
var subA = check_string.substr(0,2);
var subF = check_string.substr(2,3);
check.value = subA + "-" + subF;
}
else if (len >= 6 && len <= 9){
var subA = check_string.substr(0,2);
var subF = check_string.substr(2,3);
var subB = check_string.substr(5,4);
check.value = subA + "-" + subF + "-" + subB;
}
else if (len >= 10){
var subA = check_string.substr(0,2);
var subF = check_string.substr(2,4);
var subB = check_string.substr(6,4);
check.value = subA + "-" + subF + "-" + subB;
}
else{
check.value = check_string;
}
}
else if (len >= 2 && check_string.substr(0,2) != '02'){
if (len >= 4 && len <= 6){
var subA = check_string.substr(0,3);
var subF = check_string.substr(3,3);
check.value = subA + "-" + subF;
}
else if (len >= 7 && len <= 10){
var subA = check_string.substr(0,3);
var subF = check_string.substr(3,3);
var subB = check_string.substr(6,4);
check.value = subA + "-" + subF + "-" + subB;
}
else if (len >= 11){
var subA = check_string.substr(0,3);
var subF = check_string.substr(3,4);
var subB = check_string.substr(7,4);
check.value = subA + "-" + subF + "-" + subB;
}
else{
check.value = check_string;
}
}
else{
check.value = check_string;
}
}
}