input에 오직 숫자만 입력받으려고 한다.
따라서 0~9가 아닌 문자열은 모두 제거하면 된다.
여기서 onKeyup은 키보드의 키를 눌렀다가 뗐을 때 발생하는 이벤트다.
onKeyup="this.value=this.value.replace(/[^0-9]/g,'');"
this.value는 현재 input 필드의 값을 말한다.
현재 input 필드에 '문자 테스트123'이라는 값이 있다고 가정하면 this.value는 '문자 테스트123'이 된다.
다음에 '문자 테스트123'이라는 값을 replace 한다.
/[^0-9]/g는 정규 표현식으로, 숫자가 아닌 모든 문자를 의미한다.
^는 not을, 0-9는 숫자를, g는 global을 의미해 문자열 내에서 대상을 모두 찾아낸다.
, 뒤의 ''은 숫자가 아닌 문자를 모두 ''로 대체한다는 뜻인데, 빈 문자열로 설정되어 있기 때문에 대체 대상을 삭제한다.
따라서 '문자 테스트 123'이라는 값은 replace에서 정규 표현식을 거쳐 '123'이라는 값이 된다.
'Snippets' 카테고리의 다른 글
XssPreventer.unescape 처리로 태그를 역치환하자! (0) | 2023.10.30 |
---|