반응형
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 |
Tags
- Visual Studio Code
- Eclipse
- list
- CMD
- html
- 문자열
- 이탈리아
- 인텔리제이
- 배열
- 정규식
- 이클립스
- Button
- CSS
- vscode
- windows
- Array
- Maven
- ArrayList
- 자바
- js
- javascript
- 테이블
- Java
- input
- date
- json
- table
- string
- IntelliJ
- 자바스크립트
Archives
- Today
- Total
어제 오늘 내일
[Javascript] 정규식으로 문자열이 숫자인지 체크하기 본문
정규식으로 문자열이 숫자인지 체크하기
JavaScript에서 문자열이 숫자만으로 이루어졌는지 확인하기 위해 다양한 정규표현식을 사용할 수 있습니다.
방법 1: 기본 정규표현식
가장 기본적인 형태로, 문자열이 0에서 9까지의 숫자로만 이루어졌는지 검사합니다.
function isNumeric(str) {
return /^[0-9]+$/.test(str);
}
console.log(isNumeric("12345")); // true
console.log(isNumeric("123a5")); // false
console.log(isNumeric("00123")); // true
console.log(isNumeric("")); // false (빈 문자열도 false 처리)
console.log(isNumeric(" ")); // false (공백도 false 처리)
^
: 문자열의 시작[0-9]
: 숫자 (0부터 9까지)+
: 하나 이상의 숫자가 반복$
: 문자열의 끝
방법 2: \d
사용
\d
는 숫자(digit)를 의미합니다. [0-9]
와 동일한 역할을 합니다.
function isNumeric(str) {
return /^\d+$/.test(str);
}
console.log(isNumeric("12345")); // true
console.log(isNumeric("67890")); // true
console.log(isNumeric("123abc")); // false
console.log(isNumeric("12 34")); // false (공백 포함)
console.log(isNumeric("")); // false
\d
: 숫자 (0부터 9까지)+
: 하나 이상의 숫자가 반복
방법 3: 숫자의 길이 제한
숫자의 길이를 제한하고 싶다면 {n,m}
을 사용할 수 있습니다. 예를 들어, 최소 1개에서 최대 10자리까지 검사:
function isNumeric(str) {
return /^\d{1,10}$/.test(str);
}
console.log(isNumeric("12345")); // true
console.log(isNumeric("9876543210"));// true
console.log(isNumeric("12345678901"));// false (11자리)
console.log(isNumeric("")); // false
{1,10}
: 최소 1개, 최대 10개의 숫자
방법 4: +
대신 *
사용
*
는 0개 이상의 숫자를 허용합니다. 즉, 빈 문자열도 true가 됩니다.
function isNumeric(str) {
return /^\d*$/.test(str);
}
console.log(isNumeric("")); // true (빈 문자열도 true)
console.log(isNumeric("12345")); // true
console.log(isNumeric("00123")); // true
console.log(isNumeric("123abc")); // false
*
: 0개 이상- 주의: 빈 문자열(
""
)도 숫자로 인식됩니다.
방법 5: 양수만 허용 (+ 기호 포함)
양수만 허용하고 싶다면 +
기호를 포함시킬 수 있습니다.
function isNumeric(str) {
return /^\+?\d+$/.test(str);
}
console.log(isNumeric("+12345")); // true
console.log(isNumeric("12345")); // true
console.log(isNumeric("-12345")); // false (음수는 허용 안함)
console.log(isNumeric("123abc")); // false
\+?
:+
기호가 있을 수도 있고 없을 수도 있음-
는 허용하지 않으므로 음수는false
방법 6: 음수와 양수 모두 허용
양수와 음수 모두 허용하려면 -
기호도 포함시킵니다.
function isNumeric(str) {
return /^[-+]?\d+$/.test(str);
}
console.log(isNumeric("+12345")); // true
console.log(isNumeric("-12345")); // true
console.log(isNumeric("12345")); // true
console.log(isNumeric("-abc")); // false
console.log(isNumeric("+-123")); // false (잘못된 형식)
[-+]?
:-
또는+
가 있을 수도 있고 없을 수도 있음- 숫자만이거나,
+숫자
,-숫자
모두 허용
방법 7: 소수점 포함 숫자 검사
소수점이 포함된 실수도 검사하고 싶다면 .
기호를 포함합니다.
function isNumeric(str) {
return /^-?\d+(\.\d+)?$/.test(str);
}
console.log(isNumeric("123.45")); // true
console.log(isNumeric("-123.45")); // true
console.log(isNumeric("123")); // true
console.log(isNumeric("123.")); // false
console.log(isNumeric(".45")); // false
(\.\d+)?
: 소수점 이하 숫자가 있을 수도 있고 없을 수도 있음.
은 특수 문자이므로\.
처럼 이스케이프 처리
방법 8: 공백 포함 숫자 검사
공백이 포함될 수 있는 숫자를 검사하고 싶다면 공백을 제거한 후 검사합니다.
function isNumeric(str) {
return /^\d+$/.test(str.trim());
}
console.log(isNumeric(" 12345 ")); // true
console.log(isNumeric(" 00123")); // true
console.log(isNumeric("1 2345")); // false (중간에 공백 있음)
console.log(isNumeric("")); // false
str.trim()
: 문자열 양 끝의 공백 제거- 문자열 중간에 공백이 있는 경우는
false
정규식을 활용하여 문자열의 숫자여부를 판단하는 방법을 알아보았습니다.
반응형
'IT > Javascript' 카테고리의 다른 글
[Javascript] switch 조건문 사용법 및 활용 예제 (0) | 2025.02.24 |
---|---|
[Javascript] 정규식으로 문자열 공백 제거하기 (1) | 2024.04.03 |
[Javascript] textarea 값 가져오기, 넣기, 지우기 (0) | 2024.02.04 |
[Javascript] 동적 html 요소 추가하기 (0) | 2024.02.03 |
[Javascript] 소수점 2 자리 올림, 내림, 반올림, 버림 (0) | 2024.01.15 |
Comments