반응형
    
    
    
  
		                                        Notice
		                                        
										
                                    
                                    
                                        Recent Posts
                                        
                                    
                                    
                                        Recent Comments
                                        
                                    
                                    
                                        Link
                                        
                                    
                                | 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 | 
| 12 | 13 | 14 | 15 | 16 | 17 | 18 | 
| 19 | 20 | 21 | 22 | 23 | 24 | 25 | 
| 26 | 27 | 28 | 29 | 30 | 31 | 
                                        Tags
                                        
                                    
                                    - 정규식
- Visual Studio Code
- Eclipse
- 배열
- input
- table
- 이탈리아
- 문자열
- string
- 자바스크립트
- 인텔리제이
- date
- 자바
- vscode
- ArrayList
- IntelliJ
- CSS
- CMD
- 이클립스
- html
- javascript
- replace
- Array
- js
- Button
- json
- Java
- map
- HashMap
- list
                                        Archives
                                        
                                    
                                    - Today
- Total
어제 오늘 내일
[Javascript] input 박스에 영어만 입력되도록 하는 2가지 방법 본문
1. oninput 이벤트, 정규식, replace() 함수 사용하기
2. pattern 속성 적용하기
1. oninput 이벤트, 정규식, replace() 함수 사용하기
<input type="text" 
    oninput="handleOnInput(this)" />
function handleOnInput(e)  {
  e.value = e.value.replace(/[^A-Za-z]/ig, '')
}
(JS, HTML 탭을 클릭하여 소스코드를 확인하세요)
이 코드는 사용자가 알파벳이 아닌 다른 값을 입력하면 아예 입력이 되지 않습니다.
input에 사용자가 값을 입력하면 handleOnInput 함수를 실행시키고,
이 함수는 사용자가 입력한 값을 replace함수와 정규식을 활용하여
입력한 값에 알파벳이 아닌 문자가 있는 경우 공백으로 변환시켜서 input에 다시 넣어줍니다.
2. pattern 속성 적용하기
<form>
  <input type="text" pattern="[A-Za-z]+">
  <input type='submit'>
</form>input:invalid {
  border: 3px solid red;
}(CSS, HTML 탭을 클릭하여 소스코드를 확인하세요)
이 코드에서는 'pattern' 속성에 정규식을 적용하였습니다.
위 코드는 사용자가 알파벳이 아닌 값을 입력하고,
'제출(submit)' 버튼을 클릭하면 메세지를 출력하고, submit을 제한합니다.
또한, CSS에 'input:invalid' 속성을 적용하면
사용자가 패턴에 맞지 않는 값을 입력할 경우
CSS를 변경하여 '제출' 버튼 클릭전에도 사용자에게 메세지를 줄 수 있습니다.
이 외에도 input 박스에 숫자만 입력하는 방법은 다음 포스팅을 참조하세요.
[Javascript] input 박스에 숫자만 입력되도록 설정하는 4가지 방법
반응형
    
    
    
  'IT > Javascript' 카테고리의 다른 글
| [Javascript] 사용자 입력을 도와주는 datalist 알아보기 (0) | 2020.11.28 | 
|---|---|
| [Javascript] 콤보박스(select)에서 선택한 값, 텍스트 출력하기 (1) | 2020.11.28 | 
| [Javascript] input 에서 입력 글자수 제한하는 2가지 방법 (2) | 2020.11.27 | 
| [Javascript] 체크박스 하나만 선택되도록 하기 (1) | 2020.11.25 | 
| [Javascript] 체크박스 중, 하나라도 선택해제 될 경우 전체 선택 해제 하는 2가지 방법 (2) | 2020.11.22 | 
                              Comments