본문 바로가기
Developer/JavaScript

JavaScript 정규식으로 숫자만 추출하기

by roqkfrlfhr 2020. 7. 11.

JavaScript 정규식으로 숫자만 추출하기 

 

Javascript에서 문자열에서 숫자만 추출하고 싶을 때

replace와 정규식을 사용해서 숫자만 추출하는 방법을 알려드리도록 하겠습니다.

 

숫자만 추출하고 싶다면 간단하게 생각해서

숫자가 아닌 모든 문자를 삭제해 주면 됩니다.

JavaScript에서 제공하는 함수인 replace를 사용해 정규식으로 숫자가 아닌 것을 모두 선택하고

선택한 숫자가 아닌 모든 문자를 지워주면 되는 것 입니다.

 

숫자가 아닌 문자를 모두 선택하는 정규식을 먼저 알려 드리자면은

/[^0-9]/g

입니다.

 

그럼 Javascript를 사용한 예시를 보여 드리도록 하겠습니다.

 

코드

var testString = "안녕? Hi! 123456789.0";	// 원래 문자열
var regex = /[^0-9]/g;				// 숫자가 아닌 문자열을 선택하는 정규식
var result = testString.replace(regex, "");	// 원래 문자열에서 숫자가 아닌 모든 문자열을 빈 문자로 변경
console.log(result);				// 결과 출력

결과



원래 문자열인

"안녕? Hi! 123456789.0" 에서

한글인 "안녕",

영어인 "Hi",

특수문자인 "?", "!", ".", " "(공백)

모두 제거되고 숫자

"1234567890" 만이 출력됩니다.

 

하나의 예시를 더 보여드리도록 하겠습니다.

 

코드

var testString = "12안녕.34Test!5?67,8H9i0";	// 원래 문자열
var regex = /[^0-9]/g;				// 숫자가 아닌 문자열을 매칭하는 정규식
var result = testString.replace(regex, "");	// 원래 문자열에서 숫자가 아닌 모든 문자열을 빈 문자로 변경
console.log(result);				// 결과 출력

결과



원래 문자열인

"12안녕.34Test!5?67,8H9i0"

에서 역시 숫자를 제외한 모든 문자들이 제거되고

"1234567890" 만이 출력이 됩니다.

 

 

※ 더 알고싶은 분들을 위한 참고 설명!

숫자가 아닌 문자를 모두 선택하는 정규식

/[^0-9]/g

의 설명을 드리자면

정규식 형식으로 / 사이에

모든 숫자를 매칭하는 [0-9]

부정을 뜻하는 ^ 를 붙여

[^0-9] 를하면 모든 숫자를 제외한 문자만을 매칭하고

발생할 모든 패턴에 대한 전체 검색을 뜻하는 플래그g를 붙여 만듭니다.

다음에 정규식을 작성하는 방법에 대해서도 자세하게 알려드리도록 하겠습니다.

 

 

도움이 되셨다면 공감, 댓글 부탁드립니다!

궁금하신 점이나 요청사항은 언제든지 말씀해주세요!

 

감사합니다.

 

 


댓글