[자바스크립트] 전화번호 마스킹을 시도하다.
2013. 8. 27. 14:06ㆍIT/Web-JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | function fn_maskPhone(obj) { obj.value = fn_PhoneNumStr(obj.value); } function fn_PhoneNumStr(str){ var RegNotNum = /[^0-9]/g; var RegPhoneNum = ""; var DataForm = ""; // return blank if( str == "" || str == null ) return ""; // delete not number str = str.replace(RegNotNum,''); if( str.length < 4 ) return str; if( str.length > 3 && str.length < 7 ) { DataForm = "$1-$2"; RegPhoneNum = /([0-9]{3})([0-9]+)/; } else if(str.length == 7 ) { DataForm = "$1-$2"; RegPhoneNum = /([0-9]{3})([0-9]{4})/; } else if(str.length == 8 ) { DataForm = "$1-$2-$3"; RegPhoneNum = /([0-9]{3})([0-9]{4})([0-9]+)/; } else if(str.length == 9 ) { DataForm = "$1-$2-$3"; RegPhoneNum = /([0-9]{3})([0-9]{4})([0-9]+)/; } else if(str.length == 10){ if(str.substring(0,2)=="02"){ DataForm = "$1-$2-$3"; RegPhoneNum = /([0-9]{3})([0-9]{4})([0-9]+)/; }else{ DataForm = "$1-$2-$3"; RegPhoneNum = /([0-9]{3})([0-9]{4})([0-9]+)/; } } else if(str.length > 10){ DataForm = "$1-$2-$3"; RegPhoneNum = /([0-9]{3})([0-9]{4})([0-9]+)/; } if(RegPhoneNum != ''){ while( RegPhoneNum.test(str) ) { str = str.replace(RegPhoneNum, DataForm); } } return str; } ======================================== <input type="text" name="ctmmnyContactNo" class="input" value="" onKeyDown="fn_maskPhone(this);" onKeyUp="fn_maskPhone(this);" maxlength="13" /> |
=================================================
출처 : http://blog.naver.com/coollapop/80098787413
=================================================
그냥 전화번호를 편하게 입력할 수 있지 않을까 고민을 하며 작성을 해보다가 도저히 해결이 안 되서
출처의 원본 소스를 거의 그대로 사용해보았으나 스크립트 오류가 발생!!!
그 이유를 고민하고 인터넷을 통해 여러 고견들을 참고한 결과
원본에는 원 코더의 배려(?)인지 str.length==8 부분이 빠져 있었음. 그래서, 그 부분을 추가하고 여러모로 테스트 해 본 결과 이제는 제대로 출력이 됨.
'IT > Web-JavaScript' 카테고리의 다른 글
[자바스크립트] IFRAME 객체 컨트롤 (0) | 2014.06.26 |
---|---|
[자바스크립트] SELECT 박스 선택시 option 안의 텍스트 다른 필드에 출력하기 (0) | 2014.06.25 |
자바스크립트 table.deleteRow() (0) | 2013.11.01 |
[자바스크립트] new Option() 파라미터 정의 (0) | 2013.11.01 |
[자바스크립트] Table rows 2줄 추가 함수. (0) | 2013.09.02 |