1. Vue 2
1) 이번주 배운 내용
<tr>
<th>회사전화<span class="require-mark edit"></span></th>
<td>
<div class="col-contents">
<div class="contents-wrap">
<input type="text" maxlength="14" v-model="companyPhoneNumber" :readonly="disabled" oninput="this.value = this.value.replace(/[^0-9]/g, '').replace(/(^02|^031|^032|^033|^041|^043|^044|^051|^052|^053|^054|^055|^061|^062|^063|^064|^0504|^0505|^0507|.{0}|^01.{1}|[0-9]{3,4})([0-9]{3,4})([0-9]{4})/g, '$1-$2-$3');">
</div>
</div>
</td>
</tr>
- oninput 함수는 값이 바뀔때마다 실행된다.
.replace(/[^-0-9]/g,'')
- 숫자만 입력 가능하게 한다.
.replace(/(^02|^031|^032|^033|^041|^043|^044|^051|^052|^053|^054|^055|^061|^062|^063|^064|^0504|^0505|^0507|.{0}|^01.{1}|[0-9]{3,4})([0-9]{3,4})([0-9]{4})/g, '$1-$2-$3')
- 02, 031, 032 ... 는 지역번호.
- 소괄호()가 문자열 한 뭉치다.
- 첫번째 뭉치에는 지역번호(02, 031, 033... 에 이어 01{숫자 1자리 - 핸드폰 번호 첫 010, 011, 016등등 019까지} 3 ~ 4자리가 들어간다.)
- 두번째 뭉치에는 0-9까지 숫자가 3 ~ 4자리.
- 세번째 뭉치에는 0-9까지 숫자가 4자리가 들어간다.
- /g는 플래그라고 하며, 전체에서 해당되는 모든 문자열을 담은 배열을 반환하라는 의미다.
2) 지역번호
3) 참고
'코딩 > Javascript' 카테고리의 다른 글
[TIL - 24.01.03] Vue.js / $nextTick() (0) | 2024.01.03 |
---|---|
[TIL - 23.12.07] 메모리 관리 관점에서 바라본 &&와 || (0) | 2023.12.07 |
[TIL - 2023.11.23] find와 filter 차이 (0) | 2023.11.23 |
[JavaScript/Vue 2] - param 데이터 전달 (0) | 2023.11.09 |
TIL(23.05.04) - jQuery 활용한 checkbox 로직구현 (0) | 2023.05.04 |