javascript #JS #replaceAll구현 #split #join #소스코드 #레퍼런스 #자바스크립트
포스팅 목차 바로가기
안녕하세요, 배곧동개발자 입니다.
프로그래밍을 할 때에 달력이나 전화번호를 사용하며 많이 쓰는 함수가 하나 있지요.
2020-01-01 을 20200101로 바꾼다던가 010-1234-5678을 01012345678 로 바꾼다던가- 이럴때 사용되는 함수, 바로 repalceAll
그런데말입니다. 이러한 특정 문구를 ‘모두’ 변환 할 때에 많이 쓰이는 replaceAll이 자바스크립트에는 없다는 매우 불편한 사실-
function replaceOnlyNo(){
var telNo = "010-1234-5678";
telNo = telNo.replace("-","");
alert(telNo);
}
위와 같이 보통의 다른 언어들과 같이 replace를 쓰게 되면 최초 발견되는 하나만 치환해주고 나머지는 그대로 출력이 됩니다-
function replaceOnlyNo(){
var telNo = "010-1234-5678";
telNo = telNo.replace("-","").replace("-","");
alert(telNo)
}
그래서 이런식으로, 고정된 갯수를 알고 있다면 그 갯수만큼 반복하여 처리하기도 하지요.
하지만, 가변적인 갯수를 치환해야할 때는 좀 짜증이 나지요- for문을 돌린다던가 정규식을 쓴다던가! 왜 없어, replaceAll?
개발은 아는만큼 쉬워지지요?(명언명언) 여러 불편함을 이기기 위해 제가 하나 알려드릴까합니다-
function replaceOnlyNo(){
var telNo = "010-1234-5678";
telNo = telNo.split("-").join("");
alert(telNo);
}
바로 split과 join을 이용해서 깔끔- 하게 처리하는 방법이에요.
쨘- 아주 쉽고 간단하게 처리가 되었지요?
간단히 설명해보자면 내가 바꾸고자 하는 문자로 짤라서(split) 배열로 만든 다음, 원하는 문자를 사이에 껴서 합치는(join) 겁니다.
사실상 replaceAll도 누군가가 만든 함수라는거! 우리는 개발자잖아요? 없다면 만들면 됩니다!
보기도 힘들고 복잡시런 정규식 쓰거나 이래도 되나 싶게 for문 돌리시지 마시고 split, join을 이용해서 replaceAll 기능을 구현해보세요-
이만,
배곧동개발자 였습니다.
#MSSQL #문자폭 #영어넓이 #쿼리입력안됨 1. MSSQL 영어 입력 안되는 현상 MSSQL을 주로 쓰고 있는데 MSSMS에서…
#레전드오브이미르 #다이나믹키가다릅니다 #커스텀토큰 #접속불가 #오류 #해결방법 1. 다이나믹 키 더럽다! 유저의 다이나믹키가 다릅니다. 위메이드의 레전드…
#레전드오브이미르 #작업장 #쌀먹 #중국 #매크로 #대기열 1. 운영 문제 있네? 이제 오픈 2주차에 들어온 위메이드의…
#레전드오브이미르 #엠틱 #마나회복력 #스토리덱 1. 마나가 너무 부족해! 레전드 오브 이미르는 스킬 위주의 액션 게임이라고…
#레전드오브이미르 #파괴가남긴것 #시구르드 #19-19 #위치 1. 파괴가 남긴 것 레전드 오브 이미르 메인퀘스트 19-19인 "파괴가…
#레전드오브이미르 #트롤의비밀상자 #트롤의유적상층 #보물상자 #위치 1. 트롤의 비밀 상자 이번에 알아 볼 의뢰게시판 의뢰는 바로…