로그인 회원가입 input 영어만 입력

2019. 7. 31. 13:45·WEB/JavaScript
반응형

정규식 사용하여 영문과 숫자가 아닐 경우 입력되지 않게 한다

<input type="text" onkeydown="onlyAlphabet(this)"  />
    
<script>
	function onlyAlphabet(ele) {
	  ele.value = ele.value.replace(/[^\\!-z]/gi,"");
  }
</script>

회원가입, 로그인 시에 영어와 숫자만을 받기 위해 여러가지 방법을 찾아 보았다. style에서 ime를 사용하는 방법은 크롬에서 지원하지 않고, key값을 이용하여 false를 리턴하는 방법 또한 크롬에서 먹히지 않았다.

작은 고집으로 정규식을 사용하고 싶지 않았는데 정규식이 제일 깔끔한 방법 인 것 같다.



주의할점

  • 함수 안에서 this를 사용하는 것은 window에서의 onlyAlphabet함수를 실행시키는 것이므로 this는 window가 된다. 따라서 element에서 this를 사용하여야 element의 onkeydown 함수의 onlyAlphabet함수가 실행되는 것이므로 이 때 this는 해당 element가 된다


참고자료

https://cjw0701.tistory.com/200

반응형
저작자표시 (새창열림)

'WEB > JavaScript' 카테고리의 다른 글

callback과 promise의 차이점  (0) 2021.06.11
object의 Enumerable 설정하는 방법  (0) 2021.06.10
자바스크립트로 팝업창 구현  (0) 2019.07.08
JSON 이란  (1) 2019.03.31
javascript 상속 (prototype / class)  (0) 2019.03.21
'WEB/JavaScript' 카테고리의 다른 글
  • callback과 promise의 차이점
  • object의 Enumerable 설정하는 방법
  • 자바스크립트로 팝업창 구현
  • JSON 이란
vitnal
vitnal
4년차 프론트엔드 개발자 입니다. 이 블로그는 기록하고 싶은 내용을 저장하기 위해 사용하고 있습니다. 정제되지 않은 내용이 있을 수 있는 점 양해 부탁드립니다.
  • vitnal
    vitnal 아카이브
    vitnal
  • 전체
    오늘
    어제
    • 분류 전체보기 (148) N
      • AI (0)
      • WEB (76)
        • React (21)
        • Nextjs (17)
        • JavaScript (16)
        • React Native (5)
        • HTML & CSS (7)
      • CS (3)
      • Git (15)
      • Dev Tools (23)
      • Deploy (12)
      • Tech Memo (11) N
      • Retrospect (7)
  • 반응형
  • hELLO· Designed By정상우.v4.10.5
vitnal
로그인 회원가입 input 영어만 입력
상단으로

티스토리툴바