본문 바로가기
FrontEnd/JavaScript

[ JavaScript ] 문자열에서 공백 있는지 확인하기

by ウリ김영은 2023. 11. 4.

우테코 프리코스 과제를 진행하고 있다.

그 과정에서

input의 유효성을 검사하는 함수를 만드는데

해당 input이 공백을 포함하고 있는지를 확인하는 걸 만드려고 한다.

제거까지해도 되고.

첫 번째 시도로

trim()을 써서 공백이 있든 없든 그냥 읽단 없애버리면 되지 않을까 생각했는데,

trim은 문자열 앞과 끝의 공백만 제거가 가능했다.

공백이 사이에 있으니까 에러가 떴다.

문자열 끝에 공백이 있는 경우
문자열 중간에 공백이 있는 경우

 

두 번째는,

정규표현식과 includes메서드를 사용해보려고 한다. (includes 는 Array 와 String 둘 다 있다.)

결과가 예상치 못하게 나왔다.

 

에러 메세지가 정규표현식은 안된다고 하니 

그냥 공백을 넣어보자.

'hel  lo'.includes(' ') //true

 

음 잘 나온다. 이렇게 쓰면 될 것 같다. 

 

바로 블로그 글쓰기를 마무리하고

다시 작업을 해도 되긴 하는데, 

이왕 검증을 시작했고 서치한 방법도 있어서, 

조금만 더 시도해보자면..!

 

세 번째로 `match()` 를 써보려고 한다. 

const str = 'hel  lo'
const reg = new RegExp(/\s/g) //이렇게 정규표현식으로 만들어 줘야 한다.

str.match(reg) // [' ', ' ']
str.match(' ') //[' ', index: 3, input: 'abc   dd', groups: undefined]

 

 

 

 

흠,,

match 가 정규표현식이랑 공백을 했을 때 둘 다 나오기는 하는데,,!

뭔가 결과가 내가 생각했던 값이 아니긴 한데,,!

 

끝!

 

 

결론

문자열에서 공백이 있는지 확인하려면

`includes` 를 사용해서 문자열 공백(' ')을 넣어주거나, (정규표현식 안됨)

`match`를 사용해서 정규표현식을 쓰거나,

`match`와 문자열 공백(' ')을 넣어줘도 된다.

 

+) 업데이트

 

indexOf , lastIndexOf , search 도 가능하다.

 

 


참조

https://youngram2.tistory.com/74