JavaScript

15. [JavaScript] 전화번호 입력시 자동 대시(하이픈, "-") 삽입

drizzle0925 2021. 9. 7. 14:40
728x90

전화번호 입력 시 input이 하나일 때, "-"를 자동 입력되는 소스를 찾다 보니 긴 게 많아서 regexp를 응용하여 한 줄짜리를 만들었습니다.

 

1. 실제로는 숫자가 아닌걸 제거

2. "-" 추가

3. 대시 중복("--")을 제거하는 3단계입니다)

 

0505 번호나, 15xx-xxxx처럼 1로 시작하는 번호, 02 서울지역번호 처리가 다 됩니다.

(위키를 보고 했으니 국제번호 5자리 등을 빼고는 왠만하면 다 잘 될 겁니다.)

onkeyup 이벤트에 넣으면 실시간으로 변경하실 수 있습니다.

input의 class에 phoneNumber를 추가하시고 아래처럼 하시면 됩니다..

 

$(document).on("keyup", ".phoneNumber", function() { 
	$(this).val( $(this).val().replace(/[^0-9]/g, "").replace(/(^02|^0505|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$/,"$1-$2-$3").replace("--", "-") );
});
728x90